Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: can I get a translation

by grashoper (Monk)
on Apr 23, 2009 at 15:15 UTC ( [id://759557]=note: print w/replies, xml ) Need Help??


in reply to Re: can I get a translation
in thread can I get a translation

Thanks I was looking to strip off the . and .. from the list returned as what I am wanting to do is travel down a directory tree opening files and checking to make sure they are valid, this is for a project I am working on to store results of tests into a database. I am on windows system so my filenames don't start with a period, I managed to get my list of directories now I would like to open the files within those directories but I don't think this is quite right.
opendir(DIR, "c:\\mlx\\") || die "can't opendir: $!"; @list = grep { $_ ne '.' && $_ ne '..'&& $_ ne 'copy.pl' } @list=readdir(DIR); foreach $name (@list) { print $name, "\n"; opendir(DIR, $name); @files=readdir(DIR); foreach $file(@files){ print "filename is ", $file, "\n"; } #opendir(DIR, "$_")||die "Not able to open directory $!"; @files=readdir(DIR); foreach(@files) { print $_, "\n"; } }
this runs but I its not giving me all the files. I have files in each directory it looks to be returning for only one of them.

Replies are listed 'Best First'.
Re^3: can I get a translation
by kennethk (Abbot) on Apr 23, 2009 at 15:26 UTC
    You can easily modify your regex to match only entries that do not start a period (\^[^\.]\) to remove the current and parent directories from the list, but that is redundant with performing the file test -f, which returns false on folders. Do you want to collect folders as well as files as you traverse your tree, or are you only interested in checking file names in known directories? Removing the regular expression from you posted code will achieve the latter.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (8)
As of 2024-04-19 09:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found