Uma coisa muito, muito util é função anônima.
Por exemplo, o equivalente do comando de shell "find . -type f":
perl -MFile::Find -E 'find sub { say $File::Find::name if -f } => qw(.)'
ABS()
2011/5/31 Eden Cardim <[email protected]>
> >>>>> "Flávio" == Flávio R Lopes <[email protected]> writes:
>
> Flávio> Quando que tenho que usar isto ao invés de simplesmente
> Flávio> referenciar, por exemplo, um array em uma variável scalar:
> Flávio> my ref = \@array ?
>
> Arrays e Hashes anônimos são exatamente iguais a arrays e hashes
> convencionais, exceto que eles não tem nome. Imagina você montar uma
> estrutura de dados complexa, como uma árvore, e ter que dar nomes a
> todos os arrays/hashes:
>
> my %folha1 = ( dados => 'foo' );
> my %folha2 = ( dados => 'bar' );
> my %arvore = ( direita => \%folha1, esquerda => \%folha2 );
>
> com hashes anônimos fica assim:
>
> my %arvore = (
> direita => {
> dados => 'foo'
> },
> esquerda => {
> dados => 'bar'
> }
> );
>
> --
> Eden Cardim Need help with your Catalyst or DBIx::Class project?
> Code Monkey http://www.shadowcat.co.uk/catalyst/
> Shadowcat Systems Ltd. Want a managed development or deployment platform?
> http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
> http://twitter.com/#!/edenc
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: [email protected]
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer