Find the latest or newest modified file in a folder or directory with Perl
#I’ve worked on and off with Perl, but really want to be more proficient with it. I will do more automation with Perl and will share it here for my reader and as a reference for myself. I just created a Perl tag on this blog.
#Here is one script I cooked out today. It takes a directory / folder name as input, and return the latest or newest modified file. Suggestions welcome!
#use File::Copy;
use File::stat;
$dirname = shift or die “Please provide a directory to search for”;
$timediff=0;
opendir DIR, “$dirname”;
while (defined ($file = readdir(DIR)))
{
if($file ne “.” && $file ne “..”)
{
$diff = time()-stat(”$dirname/$file”)->mtime;
if($timediff == 0)
{
$timediff=$diff;
$newest=$file;
}
if($diff<$timediff)
{
$timediff=$diff;
$newest=$file;
}
}
}
print $newest,”\n”;
#copy(”$dirname/$newest”, “c:/work/$newest”);