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. |