in reply to Quickest way to get the oldest file
If the database approach doesn't appeal to you (don't worry -- most people would prefer not to have to do that), the response time will depend on how many files are present in any single given directory. The following sort of code ought to do what you want on either type of server:
sub get_oldest_file { my $path = shift; # name of directory to search opendir( D, $path ) or return "Unable to read directory $path\n"; my $oldest_age = 0; my $oldest_name = ''; for ( readdir( D )) { next unless ( -f "$path/$_"); my $age = ( -M _ ); # note the "_" : uses stat data loaded by +"-f" above if ( $age > $oldest_age ) { $oldest_name = $_; $oldest_age = $age; } } closedir D; return $oldest_name; }
update: naturally, you'll want to use the "File::Spec" modules when you go to cross-platform usage.
|
|---|