もっと良い方法がありますか?私はスカラーの値に基づいて、2つのアレイを構築しようとしている:条件付きでPerlで2つの配列の1つに移動する
my (@x, @y);
my $r = [$v1, $v2, $v3];
push @x, $r if $s eq 'YES';
push @y, $r if $s ne 'YES';
私が使用してみましません:
push $s eq 'YES' ? @x : @y, $r;
括弧でとせずに、ない行きます。
エラーは次のとおりです。
Type of arg 1 to push must be array (not null operation) at comp_report.pl line 79, near "$r;"
あなたのコードは正しいas_isだと思います。変数を代入する以外に* 3項演算子*を使うのは悪い習慣だと思います(Perl * 3項演算子でできることは*それを実装する他の言語では再現できないことがあります) –