• [^] # Re: Plusieurs trucs bizarres...

    Posté par . En réponse au message références aux dossiers parents. Évalué à -6. Dernière modification le 06 octobre 2015 à 18:25.

    Neox
    voila tout le code, les fichiers xml se trouvent tous dans le dossier InputData

    #!/usr/local/bin/perl -w 
    use strict; 
    use warnings; 
    use XML::Twig;
    use Text::CSV;
    use POSIX qw(strftime); 
    use autodie; 
    my $file1 = shift @ARGV ;
     $file1 = 'C:\Users\Desktop\SysCompare_v01\InputData\default_sys_156778.xml'; 
    open my $file1, '<', $file1; 
    open my @files = glob 'C:\Users\Desktop\SysCompare_v01\InputData\*.xml'; 
    @files = grep { $_ ne $file1 } @files if defined $file1; 
    my $date_1 = strftime "%Y%m%d %H:%M:%S", localtime; 
    my $FileResult = 'C:\Users\Desktop\SysCompare_v01\CSV\DATA.csv';
    open( my $FhResult, '>', $FileResult ); 
    print $FhResult $date_1, "\n"; 
    my $twig1= XML::Twig->new( 
     twig_handlers => { 
     'Parameter' => sub { 
    my $attr_name = $_->{'att'}->{'name'}; 
     print $FhResult $attr_name . ", "; 
     },
     },
    );
    print $FhResult( (split('_', $file1,2))[0] . ', ' ); 
    $twig1->parsefile($file1); 
    for my $file (@files) { 
     my $twig1 = XML::Twig->new(
     twig_handlers => {
     'Parameter' => sub {
     my $attr_value = $_->{'att'}->{'value'} // 'fault'; 
     print $FhResult $attr_value . ", ";
     },
     },
     );
     print $FhResult ((split( '_', "\n $file", 2 ) )[0] . ', ');
     $twig1->parsefile($file); 
    }
    close $FhResult;