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