{ $path = &launderFile($path); $ENV{PATH} .= ":$path"; # add the path we found to the environment variable delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; # Make %ENV safer $command = &launderName($command); if (defined($output) && $output ne '') { if ($output eq $OUTHANDLER) { # output is directed to a filehandler and returned as an array if (! open(CMD, "$command 2>&1 |")) { warn "In performLocalCommand(): Can't open $command for reading: $!"; return; } &do_something(); } else { ... } } else { # ignores command output ... } }