[Cascavel-pm] Sub x Eval x return

Adriano Ferreira a.r.ferreira em gmail.com
Sexta Maio 4 12:29:31 PDT 2007


On 5/4/07, Flavio S. Glock <fglock em gmail.com> wrote:
> o eval é um "termo" (ou operação), não um "comando".
> no perl5, os termos precisam ser separados por ponto-e-vírgula...

(Segue um complemento supérfluo à resposta do Flavio.)
O que significa que

sub lala {
       eval {
               print "Just another doubt Perl\n";
       }; #    <--- a sutil diferença !
       return;
}

vai funcionar. Este é um erro que eu cometo frequentemente por causa
da similaridade do

          eval BLOCK

com outros comandos de controle como

          if (EXP) BLOCK
          for ( ... ) BLOCK

que não precisam de ';'

> - Flavio S. Glock
>
> Em 04/05/07, "Iberê O. Kuntz de Souza"<kuntzzz em gmail.com> escreveu:
> > Caros monges, to com um problema aqui que num consigo entender.
> > Segui o ex:
> >
> > sub lala {
> >         eval {
> >                 print "Just another doubt Perl\n";
> >         }
> >         return;
> > }
> >
> > da um erro de sintaxe no return, por qual motivo?
> > sem o eval ali vai normal, eh tipo ou o eval ou o return.
> >
> > Iberê
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


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