[Cascavel-pm] Idioma muito legal!!
Marco A P D´Andrade
mda em embratel.net.br
Sexta Maio 21 07:30:11 CDT 2004
Pessoal,
Para quem teve oportunidade de ler "Effective Perl Programming" esta
visão fica um pouco mais fácil, ou mesmo algumas partes dentro do
"Advanced Programming Perl"...
A parte dificil é lembrar bem destes detalhes posteriormente ...
Para tornar-se mais ilustrativo o exemplo, que tal alterar um pouco,
como fiz ontem para tirar a prova...
#!/usr/local/bin/perl -w
use Data::Dumper;
use strict;
my ( $top, $x );
$top->{a}->{b}->{c}->{d}->{e}->{Count} = 0;
$x = $top;
my ( $Debug );
# Para depurar
printf " > %s %s\n", 'a', $top->{a};
printf " > %s %s\n", 'b', $top->{a}->{b};
printf " > %s %s\n", 'c', $top->{a}->{b}->{c};
printf " > %s %s\n", 'd', $top->{a}->{b}->{c}->{d};
printf " > %s %s\n", 'e', $top->{a}->{b}->{c}->{d}->{e};
# Para complicar, sem entrar no laco exemplificado
$Debug->{a}->{top} = $top->{a};
$Debug->{b}->{top} = $top->{a}->{b};
$Debug->{c}->{top} = $top->{a}->{b}->{c};
$Debug->{d}->{top} = $top->{a}->{b}->{c}->{d};
$Debug->{e}->{top} = $top->{a}->{b}->{c}->{d}->{e};
foreach ( qw( a b c d e ) ) {
$x = $x->{$_};
$Debug->{$_}->{x} = $x;
printf " %s => %s\n", $_, $x;
}
print "Enderecos:\n";
map {
printf " %s : %s = %s\n", $_,
$Debug->{$_}->{top}, $Debug->{$_}->{x}
} sort keys %$Debug;
<>;
print "Referencias:\n",
Data::Dumper->Dump( [$Debug] , [qw( Debug )] ),
'-'x40, "\n";
exit 0;
PS: Para quem não recorda, ou não sabe, verifiquem na Amazon quem é o
autor do livro citado ;)
Sds,
Marco Antonio
Gabriel Vieira wrote:
>Tomô?! (rs)
>
>Muito bom isso.. eu, assim como os amigos Nelson e Solli, tb estava com um
>pé atrás.. mas agora... :)
>Isso é quase uma revolução pra mim.. abre mts 'janelas'.
>
>Será que existe alguma referência pra esse tipo de construção?! Ou o rapaz
>(Andy) é fuçador nato? :)
>
>Abraços,
>
>Gabriel Vieira
>
>----- Original Message -----
>From: "Nelson Ferraz" <nferraz em phperl.com>
>To: "Cascavel Perl Mongers" <cascavel-pm em mail.pm.org>
>Sent: Thursday, May 20, 2004 6:23 PM
>Subject: Re: [Cascavel-pm] Idioma muito legal!!
>
>
>
>>Luis Campos de Carvalho wrote:
>>
>>>#!/usr/bin/perl
>>># $top eh a raiz da minha "arvore" n-aria...
>>>$top = {count => 0};
>>>$x = $top;
>>>$x = $x->{$_} ||= {} for qw(a b c d e);
>>>
>>>use Data::Dumper;
>>>print Dumper $x;
>>>print Dumper $top;
>>>
>>Wow! :)
>>
>>
>
>
>----------------------------------------------------------------------------
>----
>
>
>_______________________________________________
>Cascavel-pm mailing list
>Cascavel-pm em mail.pm.org
>http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
>_______________________________________________
>Cascavel-pm mailing list
>Cascavel-pm em mail.pm.org
>http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
>
>
Mais detalhes sobre a lista de discussão Cascavel-pm