Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Perl won't run command with "|&"

by ikegami (Pope)
on Sep 19, 2013 at 23:06 UTC ( #1054919=note: print w/replies, xml ) Need Help??

in reply to Perl won't run command with "|&"

Perl uses /bin/sh. It would be useless if the syntax of the command had to vary based on what shell a user used on a particular day.

You could always run csh from sh.

use String::ShellQuote qw( shell_quote ); my $cmd = shell_quote('csh', '-c', 'wget http://... |& tee ...'); my $result = `$cmd`;

Or avoid you can use the multi-arg open-pipe syntax to avoid sh and run csh directly.

my $cmd = 'wget http://... |& tee ...'; open(my $pipe, '-|', '/bin/csh', '-c', $cmd) or die $!; my $result; { local $/; $result = <$pipe>; }

Or you can adjust for sh.

my $cmd = 'wget http://... 2>&1 | tee ...'; my $result = `$cmd`;

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2016-10-26 08:53 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (338 votes). Check out past polls.