in reply to 'Permission Denied' error from File::Find

Geetings, witandhumor!

After running your code on my Win32 machine, I received the same (or a similar) error about permissions. A few well placed print statements and switches flipped later, I found that File::Find was finding the . file/directory first. The open is the part that seems to fail when it attempts to open the . file/directory.

I did a few file tests (-r and -f) to find only readable plain files. This happily skips over the . and .. files/directories.

Here's code that does not get the same file permission error:
#!c:\perl\bin\perl.exe -w use strict; use File::Find; use Carp; #variables my ($directory,$file,$text); print "Enter search text: "; $text = <STDIN>; chomp $text; $directory = 'c:\my_directory'; find (\&search,$directory); sub search { my $file = $File::Find::name; if (-r $file && -f $file) { open (FILE, "$file") or carp "Guess what, it didn't work!\n$!"; my $line = <FILE>; close FILE; print "$text - $file" if $line =~ /$text/; } }
Hope this helps!