http://qs1969.pair.com?node_id=780386


in reply to Re^4: File::Find finding . and ..
in thread File::Find finding . and ..

Why are you using opendir/readdir to get the list of files in $DIR? Why not just pass $DIR to find and let that function find all of the files?

I don't see how you're getting paths that include '/../'. I don't think that readdir will return them. Perhaps I'm missing some obscure symlink usage.

I'm also surprised that you're not getting a 'Can't "next" outside a loop block' or 'Exiting subroutine via next' error as your next if line should surely be return if.

If it's really necessary (and I don't think it is) then you could add another line that matches the problematic paths.

return if m[/\.\./];
--

See the Copyright notice on my home node.

Perl training courses