配列のハッシュの配列を構築しています
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
条件が満たされた場合にのみ2番目の内部ハッシュを追加する方法はありますか?このようなもの:
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'} if 1==1,
]
},
);
pushを使用してコードを書き直そうとしました:
my @innerarray = ();
push @innerarray, {label => 'first inner hash'};
push @innerarray, {label => 'second inner hash'} if 1==1;
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => \@innerarray
},
);
ただし、使用する前にすべての内部配列を事前に定義する必要があるため、非常に判読できなくなります。場合によっては、使用量よりも数百行多いコードになります。
array-elementを挿入する場所にif-conditionを直接追加する方法はありますか?