> -----Original Message-----
> From: anu p [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 28, 2006 11:51 AM
> To: beginners@perl.org
> Subject: Modifiaction time of file
> 
> Hi,
> 
>   I have a requirement where I need to look at the age
> of file, if it's older than 2 days, I should remove
> it.
> I am trying to use the '-M ' filehandle in my script,
> it does not work.
> 
>   I get the following error
> Use of uninitialized value in numeric gt (>) at
> ./temp_age.pl line 12.
> 
> 
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> 
> my $fail_dir =
> "/home/anupamaperi/failed_tests/regress_26";
> my ($file, $age);
> 
> opendir (DIR, $fail_dir) || die "cannot open, no
> $fail_dir dir $!";
> while ($file = readdir (DIR)) {
>        if (-M $file > 2) {
>             print("$file\n");
>             unlink($file);
>        }
> }

readdir() returns directory entries in a list context if any entries
exist and undef if there is nothing.  You should read the entries in an
array and iterate over that:

my @files2check = readdir( DIR );
foreach my $file ( @files2check ) {
  if ( -M $file > 2 ) {
    ...
  }
}

ry
> 
>   Any ideas where am I going wrong?
> 
> Thanks,
> Anu.
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> 
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
> 


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to