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: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer