1#!perl -w
2#!d:\perl\bin\perl.exe
3
4# -- SOAP::Lite -- soaplite.com -- Copyright (C) 2001 Paul Kulchenko --
5
6use SOAP::Lite +autodispatch =>
7  uri => 'http://www.soaplite.com/My/Chat',
8  proxy => 'http://localhost/soap',
9# proxy => 'http://localhost/',                 # local daemon server
10# proxy => 'http://localhost/soap',             # local mod_perl server
11# proxy => 'https://localhost/soap',            # local mod_perl SECURE server
12# proxy => 'tcp://localhost:82',                # local tcp server
13  on_fault => sub { my($soap, $res) = @_;
14    die ref $res ? $res->faultstring : $soap->transport->status, "\n";
15  }
16;
17
18my $nick = shift or die "Usage: $0 nickname\n";
19my $c = My::Chat->join($nick);
20my %whois = %{$c->whois};
21print map { "$_ [" . mktime($whois{$_}) . "]\n" } keys %whois;
22for (;;) {
23  print map {
24    my($nick, $text, $time) = @$_; chomp($text);
25    join '', mktime($time), ' ', $nick, '>', ' ', $text, "\n";
26  } @{$c->get};
27  print "$nick> ";
28  defined($_ = <>) or last;
29  $c->send($_) if $_ =~ /\S/;
30}
31$c->quit;
32
33sub mktime { use POSIX qw(strftime); strftime("%m/%d %H:%M", localtime shift) }
34