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.
🦛
In reply to Re: Getting latest modified file in a directory
by hippo
in thread Getting latest modified file in a directory
by ovedpo15
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |