10 Usage: $0 [options] command [arguments]
14 Options are as follows, with defaults in brackets:
16 -n, --nick=[$IRCNICK] IRC nickname.
17 -s, --server=[$IRCSERVER] IRC server.
19 Available commands (with arguments) are:
21 who #channel List the visible users on a channel.
22 whois username ... Query information about particular users.
30 nick => $ENV{IRCNICK},
31 server => $ENV{IRCSERVER},
40 usage if $options{help};
41 unless (defined $options{nick}) {
42 print STDERR "No nickname set; use --nick or IRCNICK.\n\n";
45 unless (defined $options{server}) {
46 print STDERR "No server set; use --server or IRCSERVER.\n\n";
50 my $command = shift or usage;
51 $command = lc $command;
53 my $irc = new Net::IRC;
56 my $conn = $irc->newconn(Nick => $options{nick}, Server => $options{server})
57 or die "$0: can't connect to IRC server";
59 if ($command eq 'who')
61 scalar @ARGV == 1 or usage;
62 $conn->add_handler('376', sub {
67 elsif ($command eq 'whois')
69 scalar @ARGV > 0 or usage;
71 elsif ($command eq 'list')
73 scalar @ARGV == 0 or usage;
74 $conn->add_handler('376', sub {
86 my ($self, $event) = @_;
87 my ($me, $channel, $user, $host,
88 $server, $nick, $status, $realname) = $event->args;
89 printf "\%-12s \%s\n", $nick, $realname;
101 my ($self, $event) = @_;
102 print $event->args, "\n";
105 $conn->add_handler('352', \&on_whoreply);
106 $conn->add_handler('315', \&on_endofwho);
107 $conn->add_handler('322', \&on_list);