#!perl -w
#!d:\perl\bin\perl.exe
# -- SOAP::Lite -- soaplite.com -- Copyright (C) 2001 Paul Kulchenko --
use SOAP::Lite +autodispatch =>
uri => 'http://www.soaplite.com/My/Chat',
proxy => 'http://localhost/soap',
# proxy => 'http://localhost/', # local daemon server
# proxy => 'http://localhost/soap', # local mod_perl server
# proxy => 'https://localhost/soap', # local mod_perl SECURE server
# proxy => 'tcp://localhost:82', # local tcp server
on_fault => sub { my($soap, $res) = @_;
die ref $res ? $res->faultstring : $soap->transport->status, "\n";
}
;
my $nick = shift or die "Usage: $0 nickname\n";
my $c = My::Chat->join($nick);
my %whois = %{$c->whois};
print map { "$_ [" . mktime($whois{$_}) . "]\n" } keys %whois;
for (;;) {
print map {
my($nick, $text, $time) = @$_; chomp($text);
join '', mktime($time), ' ', $nick, '>', ' ', $text, "\n";
} @{$c->get};
print "$nick> ";
defined($_ = <>) or last;
$c->send($_) if $_ =~ /\S/;
}
$c->quit;
sub mktime { use POSIX qw(strftime); strftime("%m/%d %H:%M", localtime shift) }