Ich habe zwei ähnliche Bits der Syntax ausprobiert. Das erste Werk:Perl - kann Array von Objekten nicht erstellen
my $obj = PI::something::ObjectManipulator->new();
$obj->setValue('HELLO');
my $objList = [$object];
Dies ist jedoch nicht:
my $objList= [];
foreach my $value (@values) {
my $obj = PI::something::ObjectManipulator->new();
$obj->setValue($value);
push @$objList, $obj;
};
Was ist der Unterschied zwischen diesen beiden Art, die Dinge? Warum funktioniert das zweite nicht? (Durch die nicht arbeiten, so scheint es zu sein, dass $ objList am Ende des Codes ist noch leer.)
Sieht gut aus von hier. Sind Sie sicher, dass '@ values' keine leere Liste ist? – mob