[Cascavel-pm] IDIOMA ERRADO [Was: expressao regular]

Silvio Almeida scvalmei em graaph.arq.br
Quinta Janeiro 24 10:27:52 PST 2008


Luis Motta Campos wrote:
>> my $data;
>> open my $file, $filename
>>   and do { local $/ = undef; $data = <$file>; }
>>   and close $file
>>   or die $!
>> ;
>>     
> Este idioma está previsto para funcionar no 5.12, mas AINDA NÃO É PERL
> VÁLIDO (até a versão 5.10).
>
> O problema é que as declarações de variáveis feitas com "my()" apenas
> são "vistas" pelo interpretador *depois* *que* *o* */statement/*
> *termina*. Isso quer dizer que, no idioma acima, $file "não existe" até
> ser tarde demais (quando o /statement/ termina, depois dos "and"s e "or
> die").
>   
Sim, mas viagem no futuro à parte, acho que o Wendel estava falando de 
problema ainda mais óbvio: se o arquivo está vazio então o do { } 
retorna falso. O programa morre quando poderia muito bem continuar com 
$data == ''.

Nilson, não gosto muito chamar módulo para fazer algo que eu faça 
"sozinho" em 2 ou 3 linhas. Na minha opinião, o programa vai ficar até 
mais confuso para quem não tem familiaridade com os módulos utilizados. 
Mas esta é apenas minha opinião para este caso.

use CPAN;

-Silvio



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