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


in reply to An alternative to File::Find

Man... if you're gonna suggest something like this, at least make your find command:
"find . -type d -print0 |"
and then in your perl, set
local $/ = "\0";
This is exactly the sort of thing that gives perl a bad rep... it's basically no harder to use print0 and $/="\0", yet you don't do it. It's like people not checking the return value of malloc, for cryin out loud!
------------ :Wq Not an editor command: Wq

Replies are listed 'Best First'.
Re: Re: An alternative to File::Find
by graff (Chancellor) on Jan 30, 2004 at 06:41 UTC
    Right -- that's nice. It would get rid of the "chomp $dir;", and ... um ... AH! It took me a while to get your point: Sometimes, one or more characters within a file name happens to be "\n"! (When this happens it's truly evil, but I know it does happen.) Thanks!

    update: For some reason, the "/usr/bin/find" that comes with solaris 8 does not support the "-print0" flag -- need the GNU version to do that. Oh well.

      Exactly... but you still shouldn't get rid of the chomp... the chomp will just take off the "\0" (chomp removes a trailing $/, even if $/ is set to something other than "\n").
      ------------ :Wq Not an editor command: Wq