CWB-CQI
view release on metacpan or search on metacpan
lib/CWB/CQI/Client.pm view on Meta::CPAN
}
sub cqi_read_string () {
my ($msg, $len);
$len = cqi_read_word();
croak "cqi_read_string(): $!"
unless defined recv $conn, $msg, $len, MSG_WAITALL;
return $msg;
}
sub cqi_read_byte_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_byte;
}
return @list;
}
sub cqi_read_word_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_word();
}
return @list;
}
sub cqi_read_int_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_int();
}
return @list;
}
sub cqi_read_string_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_string();
}
return @list;
}
sub cqi_read_int_table() {
my $rows = cqi_read_int();
my $columns = cqi_read_int();
my @table = ();
for (my $i = 0; $i < $rows; $i++) {
my @line = ();
for (my $j = 0; $j < $columns; $j++) {
push @line, cqi_read_int();
}
push @table, [@line];
}
lib/CWB/CQI/IOClient.pm view on Meta::CPAN
sub cqi_read_string () {
my ($msg, $len, $bytes_read);
$len = cqi_read_word();
$bytes_read = $conn->read($msg, $len);
croak "cqi_read_string(): $!"
unless defined $bytes_read and $bytes_read == $len;
return $msg;
}
sub cqi_read_byte_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_byte;
}
return @list;
}
sub cqi_read_word_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_word();
}
return @list;
}
sub cqi_read_int_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_int();
}
return @list;
}
sub cqi_read_string_list() {
my ($i, $len, @list);
$len = cqi_read_int();
for ($i = $len; $i > 0; $i--) {
push @list, cqi_read_string();
}
return @list;
}
sub cqi_read_int_table() {
my $rows = cqi_read_int();
my $columns = cqi_read_int();
my @table = ();
for (my $i = 0; $i < $rows; $i++) {
my @line = ();
for (my $j = 0; $j < $columns; $j++) {
push @line, cqi_read_int();
}
push @table, [@line];
}
( run in 0.452 second using v1.01-cache-2.11-cpan-65fba6d93b7 )