From 4b47a0bd8ce0a76922f681a29878bd90341115b9 Mon Sep 17 00:00:00 2001 From: doy Date: Wed, 26 Nov 2008 13:38:14 -0500 Subject: allow passing in a string for channels rather than just an arrayref --- lib/Log/Dispatch/Channels.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Log/Dispatch/Channels.pm b/lib/Log/Dispatch/Channels.pm index aa2695d..2021710 100644 --- a/lib/Log/Dispatch/Channels.pm +++ b/lib/Log/Dispatch/Channels.pm @@ -29,13 +29,18 @@ sub new_channel { sub _forward_to_channels { my $self = shift; - my $channels = shift || [keys %{ $self->{channels} }]; + my $channels = shift; my $method = shift; + my @channels = !defined $channels + ? [keys %{ $self->{channels} }] + : ref $channels + ? @$channels + : ($channels); # XXX: sort of a hack - the return value is only used by would_log, which # just wants a boolean my $ret = 0; - for my $channel (@$channels) { + for my $channel (@channels) { $ret ||= $self->{channels}{$channel}->$method(@_); } return $ret; -- cgit v1.2.3