For our other readers, this is a more legible version.
use warnings; use strict; use File::Find; my ($recent,$nom,$rep); my $line; $rep = 'D:\\'; sub plus_recent { return unless -f; return if defined $recent and $recent > (stat($_))[9]; $recent = (stat(_))[9]; $nom = $File::Find::name; } find(\&plus_recent,$rep); print $nom; #open (LOG,"<D:\\log.log") || die ("Erreur d'ouverture de TOTO") ; open(LOG,"$nom") ; my @LogFilePosition=<LOG>; close(LOG); foreach $line (@LogFilePosition) { if ($line =~ /CHAINERECHERCHEE/) { print "C'est démarré !!"; } }
The only thing I have to add to the other advice you've gotten is that you might want to add a newline to your print there.
print $nom, "\n";
Now that I look a little more, you might want to check that your open succeeded as you do with the one you apparently commented out. I'd write it this way:
open my $log_fh, '<', $nom or die "Can't read '$nom': $!";
That way you get a clear error message if it fails.
In reply to Re^3: Find most recently file
by kyle
in thread Find most recently file
by clementine
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |