Encode the argument string, list of strings, or referenced list of
strings as a netstring.
Supplying a scalar argument in a scalar context, or a list or list reference argument in list context, does what youd expect; encoding the scalar or each element of the list as appropriate. Supplying a list or list reference argument in a scalar context, however, returns a single scalar which is the concatenation of each element of the list encoded as a netstring.
Decode the argument netstring, list of netstrings, or referenced list of
netstrings returning the interpretation of each. You should use
netstring_verify() over any data before you try to decode it. An
invalid netstring will be returned as an empty string.
The same scalar/list context handling as for netstring_encode() applies.
|netstring_verify()||Check the validity of the supplied netstring, list of netstrings or referenced list of netstrings. Returns a TRUE or FALSE value, or list of same, as appropriate. Supplying a list argument in a scalar context will return a single boolean value which is TRUE if and only if each element of the argument list was successfully verified, otherwise its FALSE.|
Read the next netstring from a socket reference supplied as an argument.
The function returns a scalar which is the netstring read from the
socket. You will need to use netstring_decode() on the return value to
obtain the string interpretation. Returns undef in case of an error,
or an empty string ("") if a premature EOF was encountered.
This function will regard a netstring claiming to be larger than 200,000,000 characters as an error, yielding undef.
use Text::Netstring qw(netstring_encode netstring_decode); @s = ("foo", "bar"); $t = netstring_encode( scalar netstring_encode(@s) );
12:3:foo,3:bar,, is the value of $t
$s = ["5:whizz," , "4:bang,"]; $t = netstring_decode($s);
whizzbang is the value of $t
The format of a netstring is described in http://cr.yp.to/proto/qmtp.txt
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. (Being a speaker of British english, Id call it a licence though)
James Raftery <email@example.com>.
|perl v5.20.3||NETSTRING (3)||2006-11-20|