#!/usr/bin/perl -w
use strict;
use IO::File;
my $xmllog = 'xml.log';
my $xmlfile = 'xml2.xml';
my $fh = IO::File ->new($xmllog, '<' ) or die "ne peut pas ouvrir le fichier";
# Lis le fichier de log xml ligne par ligne
while (defined(my $line = $fh ->getline ))
{
# Cherche le mot parser dans le fichier de log puis split pour trouver le n° de ligne
if ($line =~ m/parser/)
{
my @tab = split(/:/, $line);
print "$tab[1]\n";
# Ouvre le fichier XML pour allé chercher la ligne correspondante a l'erreur
open F, $xmlfile;
while (<F>) {
if ( $. == $tab[1])
{
print "$tab[1]\n";
print $_ ;
}
}
}
}
$fh -> close