1# $File: //depot/libOurNet/BBS/lib/OurNet/BBS/SocketScalar.pm $ $Author: autrijus $ 2# $Revision: #2 $ $Change: 3792 $ $DateTime: 2003/01/24 19:34:06 $ 3 4package OurNet::BBS::SocketScalar; 5 6use IO::Socket::INET; # XXX Unix Socket: not yet. 7use strict; 8no warnings 'deprecated'; 9 10sub TIESCALAR { 11 my ($class, $host, $port) = @_; 12 $host .= ":$port" if $port; 13 14 my $obj = IO::Socket::INET->new(PeerAddr => $host); 15 print "connected: $host\n" if $OurNet::BBS::DEBUG; 16 my $self = bless(\$obj, $class); 17 return $self; 18} 19 20sub FETCH { 21 my $self = shift; 22 my ($msg, $buf); 23 24 while (${$self}->read($buf, 1)) { 25 last if $buf eq "\x00"; # XXX only works for chatroom 26 $msg .= $buf; 27 } 28 29 return $msg; 30} 31 32sub STORE { 33 my $self = shift; 34 ${$self}->send(@_); 35} 36 371; 38