Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: 2 way pipe?

by etcshadow (Priest)
on Nov 15, 2004 at 22:32 UTC ( #407991=note: print w/replies, xml ) Need Help??


in reply to 2 way pipe?

In addition to all of the above, have a look at IPC::Run. It's a very simple and intuitive interface for doing all the easy things, while at the same time being a pretty good interface for doing the hard things, too. For example:
use IPC::Run qw( run ); # just a silly command to execute in another process, to demonstrate # how input, output and error all relate my $command = q<perl -lpe 's/b/t/; warn qq{Oh, no! A z in "$_"! What + a world, what a world!\n} if /z/'>; # but that way is sensitive to what shell you are using, # (whether it is ok to use ' or " to quote in the shell) # this way is shell-independant: $command = ['perl', '-lpe', 's/b/t/; warn qq{Oh, no! A z in "$_"! Wh +at a world, what a world!\n} if /z/']; my ($in, $out, $err); $in = "foo\nbar\nbaz\n"; run $command, \$in, \$out, \$err;
would give you "foo\ntar\ntaz\n"; in $out (the output of the program) and "Oh, no!  A z in "taz"!  What a world, what a world!\n" in $err (the STDERR of the program).
------------ :Wq Not an editor command: Wq

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2019-07-23 11:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If you were the first to set foot on the Moon, what would be your epigram?






    Results (25 votes). Check out past polls.

    Notices?