# Constructor method for Net::IRC::Event objects. # Takes at least 4 args: the type of event # the person or server that initiated the event # the recipient(s) of the event, as arrayref or scalar # the name of the format string for the event # (optional) any number of arguments provided by the event sub new { my $class = shift; # -- #perl was here! -- # \mjd: Under the spreading foreach loop, the lexical variable stands. # \mjd: The my is a mighty keyword, with abcessed anal glands. # \mjd: Apologies to Mr. Longfellow. my $self = { 'type' => $_[0], 'from' => $_[1], 'to' => ref($_[2]) eq 'ARRAY' ? $_[2] : [ $_[2] ], 'format' => $_[3], 'args' => [ @_[4..$#_] ], }; bless $self, $class; if ($self->{'type'} !~ /\D/) { $self->{'type'} = $self->trans($self->{'type'}); } else { $self->{'type'} = lc $self->{'type'}; } # ChipDude: "Beware the method call, my son! The subs that grab, the # args that shift!" # \mjd: That's pretty good. $self->from($self->{'from'}); # sets nick, user, and host $self->args(@{$self->{'args'}}); # strips colons from args return $self; } *snip* # Dumps the contents of an event to STDERR so you can see what's inside. # Takes no args. sub dump {