in reply to Converting Java Sockets to Perl Sockets

Thanks for everyone's help:) Adding a read did the trick, and now $buf is filled with the stuff that I want!

use strict; use warnings; use IO::Socket; my $host = '199.82.244.14'; my $port = 13001; my $data = '003 0000000073223 3000 +0073223091706407 20040513023'; my $msg_out = pack("nnna*", 0, 0, length $data, $data); print "\$msg_out = -$msg_out-\n"; my $socket = IO::Socket::INET->new( PeerAddr => $host, PeerPort => $port ) or die "Can't connect: $!\n"; print $socket $msg_out; my $buf; read($socket, $buf,6); my ($tag,$code,$len) = unpack 'nnn', $buf; print "\$tag = '$tag'\n"; print "\$code = '$code'\n"; print "\$len = '$len'\n"; read($socket, $buf, $len); print "\$buf = '$buf'"; $socket->close or warn $@;
Hanlon's Razor - "Never attribute to malice that which can be adequately explained by stupidity"