You're talking about the multi-argument form for piped opens? Sorry, that was added in Perl 5.8. The hooks were there in 5.6, ie the syntax was recognized, but Perl would die with an error at runtime if you tried to do that.
perl58delta says:
If your platform supports fork(), you can use the list form of "open" for pipes. For example:
open KID_PS, "-|", "ps", "aux" or die $!;
forks the ps(1) command (without spawning a shell, as there are more than three arguments to open()), and reads its standard output via the KID_PS filehandle. See perlipc.
When I said "safer options" I also referred to lexical filehandles, of course, for which my assertion about 5.6 was correct.
Makeshifts last the longest.
| [reply] [d/l] |