in reply to open won't die
Because perl is successfully starting a process: the shell. It needs to start the shell to deal with the shell metacharacters, the quotes. Here's the explanation from perldoc perlopentut:
What happens if you try to open a pipe to or from a non-existen +t com- mand? If possible, Perl will detect the failure and set $! as +usual. But if the command contains special shell characters, such as " +>" or "*", called 'metacharacters', Perl does not execute the command directly. Instead, Perl runs the shell, which then tries to ru +n the command. This means that it's the shell that gets the error in +dica- tion. In such a case, the "open" call will only indicate failu +re if Perl can't even run the shell. See "How can I capture STDERR f +rom an external command?" in perlfaq8 to see how to cope with this. T +here's also an explanation in perlipc.
-sauoq "My two cents aren't worth a dime.";
|
|---|