Interprocess Communication (IPC) In general, don't directly access the system in code meant to be portable. That means, no "system", "exec", "fork", "pipe", ``, "qx//", "open" with a "|", nor any of the other things that makes being a perl hacker worth being. #### sub auto_quote_system { my $line = shift; my @parts = split " ", $line; my $cmd = shift @parts; while ( ! -x $cmd ) { # does -x works for file associations? $cmd .= " " . shift @parts; } return qq{"$cmd" @parts}; }