Czy jest lepszy sposób to zrobić? Próbuję zbudować 2 tablice na podstawie wartości skalara:Warunkowo przesuń do 1 z 2 tablic w Perlu
my (@x, @y);
my $r = [$v1, $v2, $v3];
push @x, $r if $s eq 'YES';
push @y, $r if $s ne 'YES';
Próbowałem za pomocą:
push $s eq 'YES' ? @x : @y, $r;
i bez parens, ale nie udać.
Błąd jest:
Type of arg 1 to push must be array (not null operation) at comp_report.pl line 79, near "$r;"
Myślę, że Twój kod jest prawidłowy. Myślę, że używanie * operatora trójskładnikowego * do czegoś innego niż przypisywanie zmiennej jest złym nawykiem (co można zrobić z operatorem potrójnym Perla * czasami nie można go odtworzyć w innych językach implementujących go) –