[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