Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
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: (16)
As of 2014-09-18 14:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (116 votes), past polls