[Cascavel-pm] Duvida Text:CSV

Nelson Ferraz nferraz em gmail.com
Segunda Setembro 3 07:24:04 PDT 2007


Em Sep 3, 2007, às 2:54 PM, Patty Silva escreveu:

> Para eliminar tudo que esta antes do . eu fiz:
>  foreach $campo (@fields)
>     {
>     $campo=~ s/\.(\w*)//;
>     push(@variaveis,$1);
>
>     }
>
> tem como eu eliminar sem usar o foreach :D

Tem.

Em geral, quando você quiser transformar uma array, você pode (deve)  
usar "map".

	my @new_array = map { do something with $_ } @old_array;

Por exemplo:

	my @clean_fields = map { /\.(.+)$/ } @fields;

Esta é apenas uma forma, existem inúmeras maneiras diferentes.

Mas o seu código continuará errado enquanto você não colocar "strict"  
e "warnings" no começo do seu programa.

(E eu me vejo obrigado a repetir sempre a mesma cantilena, para que  
esse mau exemplo não seja repetido por outras pessoas -- estas sim,  
eu espero, capazes de aprender.)



Mais detalhes sobre a lista de discussão Cascavel-pm