Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: System() in list mode?

by anneli (Pilgrim)
on Oct 18, 2011 at 09:29 UTC ( #932098=note: print w/replies, xml ) Need Help??

in reply to System() in list mode?

For output I get:
env: bash: No such file or directory

Where's the issue here? This is the correct output; the first system didn't expand $PATH (which we all know we all know about now), and in the second, you changed $PATH to foo and I guess you don't have a binary called foo/bash! If your PATH contained bash, using env PATH=... will work just fine.


Replies are listed 'Best First'.
Re^2: System() in list mode?
by 1337John (Initiate) on Oct 18, 2011 at 14:38 UTC
    What??? Of course it's the correct output for my code. But it's not what I want my code to do. Could you be so kind as to provide me with an example of appending to the PATH variable, then successfully running a script in a path with spaces in it, in one system() call?


      Here I'm prepending $HOME/dir to PATH, and executing a program named "program name", which happens to be in /home/anneli/dir (i.e. the path I prepended):

      $ pwd /home/anneli $ ls -F ./dir/ program name* $ cat dir/program\ name #!/usr/bin/env perl print "It works!\n"; $ cat system('env', "PATH=$ENV{HOME}/dir:$ENV{PATH}", 'program name'); $ perl It works! $

      I hope this helps. We do the necessary expansion of HOME and PATH on our side, before sending them through to the (non-expanding) multi-argument system call.


Log In?

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

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

    Results (294 votes). Check out past polls.