http://qs321.pair.com?node_id=707304


in reply to Re^6: greater efficiency required (ls, glob, or readdir?)
in thread greater efficiency required (ls, glob, or readdir?)

True, I overlooked cat's error message. It'll still be silent for spawning errors, although those will be far less common.

Replies are listed 'Best First'.
Re^8: greater efficiency required (ls, glob, or readdir?)
by JavaFan (Canon) on Aug 27, 2008 at 21:09 UTC
    I'm not sure what you mean by "spawning errors", but if 'cat' happens to be chasing mice outside my $PATH, Perl will tell me:
    $ PATH=/tmp /usr/bin/perl -wE '$_ = `cat /etc/motd`' Can't exec "cat": No such file or directory at -e line 1.

      Remember, the file name is a variable in this discussion, so you're method of calling cat is unacceptable. First fix the major bug that your script treats file names as shell commands, then you'll notice it's silent.

      Update: eh? It's suppose to be. Since when does open output error messages on its own!

      $ PATH=/tmp /usr/bin/perl -we 'open my $fh, "-|", "cat", "/etc/motd"' Can't exec "cat": No such file or directory at -e line 1.
        You are too cryptic for me here, I do not understand what you mean.