Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Getting latest modified file in a directory

by hippo (Bishop)
on Jan 10, 2022 at 16:24 UTC ( #11140331=note: print w/replies, xml ) Need Help??


in reply to Getting latest modified file in a directory

Is there a standard way to do it?

No but there are many ways to do it. Here is one:

#!/usr/bin/env perl use strict; use warnings; use List::Util 'reduce'; use Path::Tiny 'path'; my @files = qw/a b c/; my $dir = '/tmp/'; print newest($dir, @files) . "\n"; sub newest { my $dir = shift; my $newest = reduce { $a->stat->mtime > $b->stat->mtime ? $a : $b +} map { path "$dir/$_" } @_; return "$newest"; }

I've passed the files as an array since that is much more useful (in a generic sense) than your hashref. Feel free to modify for your own purposes, of course. If your list of files is (or might be) very long then consider a transform to avoid excessive stat calls.


🦛

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2022-05-21 10:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?