Era sim, mas resolvi tomar outro metodo.
sub array_find_position{
my $gi = shift;
my $position = 0;
LINE: foreach (@data){
if ($_ eq $gi){
last LINE;
}
else{
$position++;
}
}
return $position;
}
> From: [email protected]
> Date: Sat, 12 Jan 2013 18:20:16 -0200
> To: [email protected]
> Subject: Re: [Rio-pm] Percorrendo array
>
> perl -E '@array=(1..10); for(my $i = 0; $i < 10; $i++){ if($array[$i]
> == 2){ $i = 5} if($array[$i] == 7) {$i = 10} say $array[$i]}'
>
> Tipo isso?
>
> 2013/1/12 Tiago Peczenyj <[email protected]>:
> > nao use foreach. use for ou while p indice e altere-o qdo quiser p avancar
> > ou voltar
> >
> > Em 12/01/2013 15:53, "Aureliano Guedes" <[email protected]> escreveu:
> >>
> >> Ola Monges,
> >>
> >> Me surgiu uma duvida nesse momento.
> >>
> >> Imagine que temos um array de 10 posições:
> >> my @a = qw(0 1 2 3 4 5 6 7 8 9);
> >>
> >> Então este array esta em um loop, no caso um foreach:
> >>
> >> foreach my $i (@a){
> >> ...
> >> }
> >>
> >> Mas eu quero que se o valor dessa posição seja 6, por exemplo, o array
> >> volte para segunda posição.
> >>
> >> Não sei se minha pergunta ficou estranha ou difícil de entender, mas como
> >> eu faria isso??
> >>
> >> _______________________________________________
> >> Rio-pm mailing list
> >> [email protected]
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> > _______________________________________________
> > Rio-pm mailing list
> > [email protected]
> > http://mail.pm.org/mailman/listinfo/rio-pm
> _______________________________________________
> Rio-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/rio-pm
_______________________________________________
Rio-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/rio-pm