Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: 'Permission Denied' error from File::Find

by Daruma (Curate)
on Feb 11, 2004 at 08:59 UTC ( #328194=note: print w/replies, xml ) Need Help??

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!


Replies are listed 'Best First'.
Re: Re: 'Permission Denied' error from File::Find
by witandhumor (Pilgrim) on Feb 12, 2004 at 03:18 UTC
    With all of the help given to me here(and some one-on-one tutoring) I was able to work out most of my issues! Thank you very much!!!!!!!!!!!

    Here is my most recent attempt..getting there

    #!c:\perl\bin\perl.exe -w use strict; use File::Find; #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 die "Guess what, it didn't work! $!\n"; while (my $line = <FILE>) { print "$text - $file\n" if $line =~ /$text/; } } close FILE; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://328194]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2018-04-20 21:12 GMT
Find Nodes?
    Voting Booth?