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[/\.\./];
In reply to Re^5: File::Find finding . and ..
by davorg
in thread File::Find finding . and ..
by transiency
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |