• [^] # Re: loop

    Posté par . En réponse au message Parsage sur plusieur fichier. Évalué à 1.

    j'ai comme l'impression quenous ne nous comprenons pas du tout, voila tout mon code :

    use strict;
    use warnings;
    use XML::Twig;
    my $file_0 = $ARGV[0] or die 'No file1'; 
    my @files = @ARGV or die 'No files';
    my $FileResult = 'result.txt';
    open( my $FhResult, '>', $FileResult )or die ("Unable to open file `{mathjax} FileResult\n`!");
    my $twig1= XML::Twig->new( 
     twig_handlers => { 
     'Parameter' => sub { 
     my $attr_name = $_->{'att'}->{'name'} // 'fault'; 
     print $FhResult $attr_name . ",";
     },
     },
    );
    print $FhResult( (split('_', $file_0,2))[0] . ',' ); 
    $twig1->parsefile($file_0);
    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);
    }

    voila ce qu'il me donne a la sorti quand j'entre 4 fichiers a savoir:
    1- les attributs(name) fichier 0,
    2- les attributs(value) fichier 0,<-- ceci je n'aimerai pas l'avoir
    3- les attributs(value) fichier 1,
    4- les attributs(value) fichier 2,
    5- les attributs(value) fichier 4,

    default,primary,secondary,copy_directory,forced_copy_flag,always_allow_dump,type_of_dump,full_memo
    default,/dev/lg_dumplv,/dev/sysdumpnull,/var/adm/ras,1,0,fw-assisted,disallow,<-- ceci je n'aimerai pas l'avoir
    d100spuptl25e0,/dev/lg_dumplv,/dev/sysdumpnull,/var/adm/ras,1,1,fault,disallow,
    doc1,/dev/lg_dumplv,/dev/sysdumpnull,/var/adm/ras,1,0,fw-assisted,disallow,
    doc2,/dev/lg_dumplv,/dev/sysdumpnull,/var/adm/ras,1,1,fw-assisted,disallow,

    si cela apparait c'est parcequ'il traite le fichier Nr.0 2 fois une fois pour la sorti des attributs name et une seconde fois pour la sorti des attribut value alors que je ne veus pas cela pour la seconde fois et le problemese situe a la declaration de @file=@ARGV je ne sais pas comment l'empeche a ce qu'il ne me traite pas le fichier Nr.0 une fois de plus