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

In reply to Re^5: File::Find finding . and .. by davorg
in thread File::Find finding . and .. by transiency

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":