Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: system and -e question

by afoken (Abbot)
on Dec 29, 2012 at 18:25 UTC ( #1010838=note: print w/replies, xml ) Need Help??


in reply to Re: system and -e question
in thread system and -e question

2teez++. Using symlink avoids messing with the unknown system default shell:

Passing unquoted variables to a single-string system really begs for trouble, as soon as variables contain meta characters. Quoting rules differ with the shell used (and become a real nightmare on Windows), and there is no safe way to find which rules work as intended.

Using symlink also avoids the overhead of creating a new, complex process for just a single kernel call, and gives a clear error code in $! instead of returning some obscure exit code and some random text on STDERR of the child process.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010838]
help
Chatterbox?
[Lady_Aleena]: Why does grep(/.*$in.*/, @my_modules) work but grep { $_ =~ /.*$in.*/; $_ } @my_modules not work? What did I do wrong in the second?
[tobyink]: Why are you returning $_ n your grep block? You should return a boolean.
[tobyink]: *in your grep block
[tobyink]: You can use grep { $_ =~ /.*$in.*/; } @my_modules but why not stick to grep(/.*$in.*/, @my_modules)? (The latter is faster.)

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2017-05-27 07:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?