[Cascavel-pm] Dumper de hash duplo

Gabriel Vieira gabriel.vieira em gmail.com
Segunda Fevereiro 13 06:48:45 PST 2006


A questão não é parar de programar sem use strict;

Mas sim esclarecer dúvidas, como esta.

Bom.. já que o que eu fiz é erro e funcionou é falha do perl?

Digamos que isto não seja programação, mas sim testes. :)

Abraços ;)
----- Original Message ----- 
From: "Alceu R. de Freitas Jr." <glasswalk3r em yahoo.com.br>
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Sent: Monday, February 13, 2006 11:40 AM
Subject: Re: [Cascavel-pm] Dumper de hash duplo


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
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm 



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