OVH Cloud OVH Cloud

remonté dans un foreach

2 réponses
Avatar
alain
salut,

c'est la journée des questions :)
encore une et c'est fini, je parcour le resultat d'une commande comme ceci :

@raw_data = `repadmin /showreps $serveur`;
foreach $result (@raw_data){
...
}

je parcours donc de ligne en ligne , comment faire pour remonté d'une ligne
si besoin ?

merci d'avance pour vos reponses
A+

2 réponses

Avatar
Samuel Mouniée
Bonjour,

alain wrote:
salut,

c'est la journée des questions :)
encore une et c'est fini, je parcour le resultat d'une commande comme ceci :

@raw_data = `repadmin /showreps $serveur`;
foreach $result (@raw_data){
...
}

je parcours donc de ligne en ligne , comment faire pour remonté d'une ligne
si besoin ?


si tu veux naviguer librement dans ton tableau et non y acceder
sequentiellement, il faut faire un for(;;){}

genre

for( $i = 0 ; $i < scalar( @toto ) ; $i++ ) {
print "$toto[$i]n"
print " suit ", $toto[$i-1], "n"
if $i > 0;
print " est suivit par ", $toto[$i+1], "n"
if ( $i+1 ) < scalar( @toto );
}

mon exemple n'est pas "optimal" ... ;-)


merci d'avance pour vos reponses
A+


Padkoa,


.s'nuoM

Avatar
Philippe Bricout
"alain" écrivait dans l'article
news:4024abe0$0$28759$:

salut,

c'est la journée des questions :)
encore une et c'est fini, je parcour le resultat d'une commande comme
ceci :

@raw_data = `repadmin /showreps $serveur`;
foreach $result (@raw_data){
...
}

je parcours donc de ligne en ligne , comment faire pour remonté d'une
ligne si besoin ?


En conservant en fin de bloc foreach la valeur de la ligne.


use strict;
my @raw_data = `repadmin /showreps $serveur`;
my $last_line;

foreach my $result (@raw_data){
....
$last_line = $result;
}