in reply to
socket help
The implicit use of global $_ in the client code seems a bit odd. This variable is not set explicitly from the command line without careful invocation:
echo myarg | perl -nle 'print "ARG=<$_>\n"'
ARG=<myarg>
You're better off, at least, fetching from ARGV:
my ($hostname) = @ARGV;
die "usage: $0 hostname" unless $hostname;
my $socket = new IO::Socket::INET (
PeerAddr => $hostname,
PeerPort => '7071',
Proto => 'tcp',
);
...or however you want to parse the command line arguments in
@ARGV.