[SP-pm] tipagem de variaveis em perl

Thiago Rondon thiago at aware.com.br
Thu Jul 14 22:04:04 PDT 2011


On Thu, Jul 14, 2011 at 10:24:54PM -0300, Tiago Peczenyj wrote:
> Galera
> 
> esta sintaxe sempre me deixou confuso, alguem pode dar uma esclarecida?
> 
> Olhando o exemplo do TheSchwartz no Cpan - [
> http://search.cpan.org/~sixapart/TheSchwartz-1.10/lib/TheSchwartz.pm ]
> 
> nesse caso:
> 
> my TheSchwartz::Job $job = shift;
> 
> Para que serve isso? No perldoc eu li que

Você pode trabalhar na variável (e isto também pode ser utilizado para subs)
sempre que ele for invocada pela declaração, como por exemplo, veja a saída
do Dumper para entender como isto pode ser explorado:

package Foo;
use Attribute::Handlers;
use Data::Dumper;
sub Test :ATTR(SCALAR) { print Dumper(\@_) }

package main;
my Foo $job :Test('x') = 1;
print $job;

> "The exact semantics and interface of TYPE and ATTRS are still
> evolving. TYPE is currently bound to the use of the fields pragma"
> 
> mas não encontrei nenhuma referencia a pragma fields. Pra que isso?
> 

Referencia: http://perldoc.perl.org/fields.html

Com isto, é possível criar módulos como este: 
http://search.cpan.org/~miyagawa/Class-Trigger-0.14/lib/Class/Trigger.pm

abs,
-Thiago Rondon



More information about the SaoPaulo-pm mailing list