[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