Well, given the requirement for rapid turn-around from the web server, the best solution might be to maintain a separate database of file names and creation dates. The cross-platform requirement means you need to decide whether you want to require a cross-platform RDBM (like mysql) or just accept a certain amount of performance degradation (extra load on the server) to maintain and sort a flat-file table.
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.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.