[Cascavel-pm] Dumper de hash duplo

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Segunda Fevereiro 13 06:40:58 PST 2006


Gabriel,

Habilitando "use strict" no seu código resultou em um
erro:

<code>
use warnings;
use strict;

my %a;

$a{1} = 1; 
$a{1}{2} = 2; 
print "$a{1} - $a{1}{2}\n";
</code>

<error>Can't use string ("1") as a HASH ref while
"strict refs" in use at test.pl line 7.</error>

É sempre saudável usar "use strict", exceto algumas
situações especiais aonde você desabilita ele
explicitamente
.
Sobre a saída, o que eu ACHO que aconteceu é o
seguinte:

1 - Seu hash só guardou o 1;
2 - O Perl não conseguiu fazer a desreferência (já que
ela não foi criada) e retornou o número dois.

Conclusão: páre de programar sem usar "use strict" e
evite confusões (suas e dos outros monges) futuras.

[]'s
Alceu


--- Gabriel Vieira <gabriel.vieira em gmail.com>
escreveu:

> Mas Nilson,
> 
> da uma olhada:
> 
> $a{1} = 1;
> $a{1}{1} = 2;
> 
> print "$a{1} - $a{1}{1}";
> ^D
> 1 - 2
> 
> ele me retorna os 2 valores =T
> 
> Abraços



		
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com


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