【发布时间】:2012-05-12 00:26:01
【问题描述】:
我正在构建一个数组的哈希数组
my @array = (
{label => 'first hash'},
{label => 'second hash',
innerarray => [
{label => 'first inner hash'},
{label => 'second inner hash'},
]
},
);
有没有办法仅在满足条件时才添加第二个内部哈希? 像这样的:
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
},
);
但它变得非常难以辨认,因为我必须在使用它们之前预定义所有内部数组,在某些情况下,这比用法要高出 100 行代码。
有什么方法可以直接在我插入数组元素的地方添加 if 条件?
【问题讨论】:
标签: arrays perl if-statement perl-data-structures