[SP-pm] dúvida básica

Andre Carneiro andregarciacarneiro at gmail.com
Tue Sep 30 07:04:47 PDT 2014


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140930/91f4c589/attachment.html>


More information about the SaoPaulo-pm mailing list