Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Poor mans Netcat

by Corion (Pope)
on Nov 04, 2003 at 12:17 UTC ( #304388=perlcraft: print w/ replies, xml ) Need Help??

   1: #!/usr/bin/perl -w
   2: # As our unix printer setup is weird and I sometimes want to
   3: # print to networked (HP) printers, I needed something like
   4: # netcat. I was unsatisfied with <tt>telnet</tt>, as it did
   5: # output stuff I didn't want, and I didn't want to add the
   6: # redirection to /dev/null. Perl to the rescue:
   7: 
   8: use strict;
   9: use IO::Socket;
  10: 
  11: select IO::Socket::INET->new(PeerAddr => shift, PeerPort => (shift || 23));
  12: print
  13:   for <>;
  14: 
  15: __END__
  16: # or, as a oneliner:
  17: perl -MIO::Socket -pe 'BEGIN{select IO::Socket::INET->new(PeerAddr=>shift,PeerPort =>(shift||23))}'

Comment on Poor mans Netcat
Download Code
Re: Poor mans Netcat
by Samveen (Initiate) on Nov 07, 2013 at 11:00 UTC

    To add to the above, the equivalent of listening using netcat (netcat -l) to push data is

    1: #!/usr/bin/perl -w 2: # No nc -l on SunOS 5.8 DMZed host to transfer data out. 3: # Perl to the rescue: 4: 5: use strict; 6: use IO::Socket; 7: 8: select IO::Socket::INET->new(LocalPort=>(shift||2222), Listen=>1 +)->accept; 9: 10: print 11: for <>; 12: 13: __END__ 14: # or, as a oneliner: 15: perl -MIO::Socket -pe 'BEGIN{select IO::Socket::INET->new(LocalP +ort=>(shift||2222), Listen=>1)->accept;}'

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlcraft [id://304388]
Approved by barrd
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (11)
As of 2014-08-28 07:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (257 votes), past polls