http://www.perlmonks.org?node_id=887911


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.

Replies are listed 'Best First'.
Re^2: socket help
by Anonymous Monk on Feb 14, 2011 at 02:47 UTC
    $_ is supposed to be $ARGV[0].
    PeerAddr => $ARGV[0],
    I've also tried using backticks
    chomp(my $output = `ls /tmp 2>&1`);
    It's like the client isn't waiting for the server to finish