Salve monges
Desculpem incomodar vocês com essa dúvida básica, mas não estou encontrando
a idiotice que estou fazendo, e isso já está me consumindo algum tempo.
Abaixo, um código resumido que reproduz o problema:
<code>
use Data::Printer;
my @a = ('amarelo','branco','vermelho');
my $p = {id=>1,nome=>"foo"};
my @b = ();
foreach my $c(@a){
$p->{'cor'} = $c;
push @b,$p;
}
print p @b;
</code>
Resultado:
[
[0] {
cor "vermelho",
id 1,
nome "foo"
},
[1] var[0],
[2] var[0]
]
Resultado esperado:
[
[0] {
cor "vermelho",
id 1,
nome "foo"
},
[1] {
cor "amarelo",
id 1,
nome "foo"
},
[2] {
cor "preto",
id 1,
nome "foo"
}
]
A pergunta é simples. Porque não consigo o resultado esperado?
Obrigado!
--
André Garcia Carneiro
Software Engineer
(11)982907780
=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