spodziewałbym następujący kodanomalne zachowanie Push ramach Catalyst MVC
my @array;
for my $rapport (qw(value1 value2 value3)) {
push @array, { key => $rapport };
}
do przedstawienia:
$VAR1 = [
{
'key' => 'value1'
},
{
'key' => 'value2'
},
{
'key' => 'value3'
}
];
jednak uruchomiony ten segment kodu pod Catalyst MVC uzyskać:
$VAR1 = [
{
'key' => [ 'value', 'value2', 'value3' ]
},
];
Czy ktoś może mi wyjaśnić, dlaczego?
EDYCJA: Czy ktoś z tym samym problemem może podać przykład? Nie mogę się odtworzyć po pewnych zmianach w kodzie, ale ponieważ zostało 5 razy wznowione, zakładam, że inni użytkownicy również doświadczyli tego problemu?
Przepraszam, jeśli jestem głupi. Masz na myśli działanie w ramach Catalyst MVC? wersja perl? – mikew
Co się stanie, jeśli spróbujesz użyć funkcji $ rapport (@ {['value1', 'value2' ..]}). Wygląda na to, że $ rapport otrzymuje przypisanie tablicy wartości [value1, value2, value3], a pętla wykonuje tylko jeden raz. Co oznaczałoby, że popychanie nie jest sprawcą. – mikew
mikew, Mam upvoted twój komentarz. Twoje założenie jest prawdopodobnie poprawne. Nie mogę odtworzyć tego teraz, ponieważ w międzyczasie zmieniono kod. Chciałbym wiedzieć, dlaczego pytanie zostało 3 razy wznowione ... –