Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

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

by Daruma (Curate)
on Feb 11, 2004 at 08:59 UTC ( [id://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!

-Daruma

Replies are listed 'Best First'.
Re: Re: 'Permission Denied' error from File::Find
by witandhumor (Pilgrim) on Feb 12, 2004 at 03:18 UTC
    All:
    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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://328194]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (1)
As of 2024-04-25 01:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found