[SP-pm] Pergunta sobre a variável $_

"Flávio R. Lopes" flavio.lopes at links.inf.br
Mon Jul 12 19:38:21 PDT 2010


Sim...foi o que entendi após ler o "perlvar"....putz...como dizem: RTFM!!

Em 12-07-2010 22:19, Thiago Glauco Sanchez escreveu:
> Sim, e morrem quando usada com my. Sem my o Perl utiliza $_ como 
> global, então o valor "sobrevive fora do bloco".
> No exemplo $_ = 10 é global
> e em for my $_ (0..9) a variável $_ é local. E o Perl 5.12 consegue 
> usar $_ local e global.
>
> Em 12/07/2010 22:06, "Flávio R. Lopes" escreveu:
>> Grande Thiago (my Jedi Master!)....acho que estou tentando ser 
>> "preguiçoso" demais!! :p
>> Acho que acabei de enxergar um erro que cometi!!, colocando esta 
>> variável global onde se esperava um array...
>>
>> E uma das coisas que me gerou dúvida, foi exatamente o que você 
>> comentou: "Se a variável $_ esta dentro de um bloco, o(s) valor(es) a 
>> ela atribuidos deveriam "morrer" dentro do bloco"
>>
>> Valeu pelo help!
>>
>> Abraço!
>>
>>
>> Em 12-07-2010 21:25, Thiago Glauco Sanchez escreveu:
>>> Flávio, meu impaciente padawan, não seria:
>>>
>>> for (@meu_array){
>>>     código do bloco...
>>>     ...onde $_ recebe individualmente cada elemento do array
>>> }
>>>
>>> e no perl 5.12 você pode definir $_ localmente com my.
>>>
>>> C:\Users\thiago\Desktop>perl -E "$_ = 10; for my $_ (0..9){say $_} 
>>> say $_;"
>>> 0 #no meu bloco for, a $_ local recebe valores de 0..9 e não 
>>> influencia a $_ global
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> 6
>>> 7
>>> 8
>>> 9
>>> 10 #repare que 10 é o valor fora do bloco!!!
>>>
>>>
>>> Em 12/07/2010 21:10, Giuliani Sanches escreveu:
>>>> Essa é a famosa global "default variable".
>>>>
>>>> Você não vai conseguir fazer um foreach nessa variável pois ela é 
>>>> um scalar.
>>>>
>>>> Ela é usada automaticamente pelo perl em diversas funções, loops,
>>>> testes de arquivos ...
>>>>
>>>> Da uma lida aqui http://perldoc.perl.org/perlvar.html e você vai
>>>> entende-la melhor.
>>>>
>>>> []'s
>>>>
>>>> Em 12 de julho de 2010 20:49, "Flávio R. Lopes"
>>>> <flavio.lopes em links.inf.br>  escreveu:
>>>>> Olá pessoal!
>>>>>
>>>>> Como funciona (na memória) os dados que ficam armazenados na 
>>>>> variável $_  ?
>>>>> Ou seja, supondo que dentro de um programa meu, eu a utilize em 
>>>>> dois "blocos
>>>>> foreach":
>>>>>
>>>>> ... código ...
>>>>> foreach ($_) {
>>>>> ...código_do_bloco-1....
>>>>>
>>>>> }
>>>>>
>>>>> # e depois novamente em outro bloco:
>>>>>
>>>>> foreach ($_) {
>>>>> ...código_do_bloco-2....
>>>>>
>>>>>   }
>>>>>
>>>>> Quero dizer o seguinte, o último valor que ficou armazenado nela 
>>>>> ($_), ao
>>>>> final do primeiro bloco, será o "primeiro" valor a ser considerado 
>>>>> quando o
>>>>> programa for rodar o bloco-2 ?
>>>>> É preciso "limpar" esta variável antes de usá-la em outro trecho 
>>>>> do código?
>>>>>
>>>>> Não sei se fui claro...
>>>>>
>>>>> Abraço,
>>>>> Flávio
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> SaoPaulo-pm mailing list
>>>>> SaoPaulo-pm em pm.org
>>>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>



More information about the SaoPaulo-pm mailing list