Alvis-Saa
view release on metacpan or search on metacpan
lib/Alvis/Tana.pm view on Meta::CPAN
package Alvis::Tana;
$Alvis::Tana::VERSION = '0.1';
# use Data::Dumper;
use strict;
my %ERROR;
my $debug = 0;
######################################################################
#
# Public methods
#
###################################################################
sub error($)
{
my ($client) = @_;
return $ERROR{$client};
}
sub readname($)
{
my ($client) = @_;
my $len = readnum($client);
if(!defined($len))
{
return undef;
}
my ($name,$got) = readbytes($client, $len);
if(!defined($name))
{
return undef;
}
return $name;
}
sub readnum($)
{
my ($client) = @_;
my $got = 0;
my $num = '';
my $char = '0';
while($char =~ /[0-9]/)
{
my $bytes = CORE::sysread($client, $char, 1);
if($bytes != 1)
{
$ERROR{$client} = "Readnum error: $@";
!$debug || print STDERR "readnum: $ERROR{$client}\n";
return undef;
}
if($char =~ /[0-9]/)
{
$num .= $char;
$got++;
}
( run in 0.480 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )