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