Olá Nicole, Está sim. A depender do valor de cada item, claro. Isso é bem interessante aliás.
If any element of LIST is an lvalue, you can modify it by modifying VAR inside the loop. Conversely, if any element of LIST is NOT an lvalue, any attempt to modify that element will fail. *In other words, the foreach loop index variable is an implicit alias for each item in the list that you're looping over.* Segue a referência da documentação: http://perldoc.perl.org/perlsyn.html#For-Loops 2017-06-28 11:07 GMT-04:00 Nicole Scherer <[email protected]>: > Olá Monges! > > Estou chocada! > Acabei de descobrir que alterar o valor de $item dentro de um loop > foreach my $item (@vetor){ } altera o valor do elemento do array! > Como é que eu nunca tinha percebido isto? > Quando leio os scripts dos alunos, sempre aprendo uma maneira inusitada de > resolver uma questão. Mas esta contradiz uma certeza que eu tinha... > > #LETRA d) da Questão 01 - TROCAR T por U na Sequencia > > my @nucls = split(//, $dna); > > foreach my $item(@nucls) { > print "@nucls\n"; > if($item eq "T") { > $item = "U"; > } > if($item eq "t") { > $item = "u"; > } > } > my $seq = uc(join("", @nucls)); > > E a sequencia realmente foi modificada! > Na minha concepção, a variável $item recebia o valor de cada elemento do > array, mas ocupava um endereço diferente. > Mas assim, me parece que ela não passa de uma referência. > Está certo isto? > > []s, > Nicole > > > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm > -- Gabriel Vieira
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
