[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