Thanks! In this case, at least, there aren't any symbolic links to worry
about.
"Tanton Gibbs"
<thgibbs@delta To: <[EMAIL PROTECTED]>
farms.com> cc:
Subject: Re: Help with File::Find
01/11/02 11:32
AM
-e might actually fail if they are symbolic links that don't exist...you
might check to make sure.
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, January 11, 2002 12:27 PM
Subject: RE: Help with File::Find
>
> Bob Showalter
> <Bob_Showalter@taylor To:
"'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>,
> white.com> [EMAIL PROTECTED]
> cc:
> 01/11/02 11:06 AM Subject: RE: Help
with File::Find
>
>
>
>
>
>
>
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> > Sent: Friday, January 11, 2002 11:58 AM
> > To: [EMAIL PROTECTED]
> > Subject: Help with File::Find
> >
> >
> > Hi Everyone!
> >
> > I'm fairly new to Perl, and completely new to submitting to
> > the list, so
> > please be easy on me. :-)
> >
> > The purpose of the code I wrote (listed below) is to go
> > through the current
> > directory and all of its subdirectories and report the
> > filename, size and
> > age of the x largest files, where x depends on the argument
> > supplied on the
> > command line and the number of files in the directory. I'm
> > sure there's an
> > easier way to do this with a UNIX utility (or with Perl), but
> > this program
> > has been a good learning experience for me.
> >
> > The code below runs without any syntax errors, but File::Find
> > (which I love
> > and use frequently) or the -e file test doesn't give the
> > results I expect.
> > Specifically, my (explicit) checks show that the test in line
> > 11 does not
> > always evaluate to TRUE for values of $_ corresponding to
> > legitimate (i.e.,
> > existing and size > 0) files, which means I'm missing files
> > that should be
> > in my final output. If I change line 11for debugging
> > purposes to simply
> >
> > if ($_){
> >
> > all files (including the previously missed ones) are printed out (also
> > along with the directories now) as expected, but for the
> > files that would
> > not have passed the (-e $_) test, the values assigned for
> > filesize and age
> > in line 12 are (tested to be) undefined. If this is any
> > help, the files
> > that don't pass the (-e $_) of test of line 11 are (perhaps
> > coincidentally)
> > the biggest files (~55 GB) in the directory.
>
> I don't really have an answer, but conceptually, why would you need
> a -e test at all? If the file doesn't exist, how would wanted() get
> called for it?
>
> Also, have you tried doing the -e on $File::Find::name instead of $_ ?
> Perhaps there's some problem in changing directories.
>
> Hi Bob,
>
> Thanks for the response! Good question: My original code - which
produced
> the same results - used the -f test because I don't want to include
> directories in my final output. I don't think the problem is with
changing
> directories, because within a given directory, some files will be listed
> and others will be omitted.
>
> Thanks!
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]