是否可以创建一个包含条件项的数组?
my @a = (1, ($condition) ? 2 : "no-op", 3);
这样"no-op"
是一个函数,如果$condition
是假的,然后我得到列表(1, 3)
but if $condition
是真的,我明白了(1, 2, 3)
?
背景:
use strict;
use warnings;
use File::Find::Rule;
my $rule = File::Find::Rule->new();
$rule->or(
$rule->new->name('*.cfg')->prune->discard,
$rule->directory->name("_private.d")->prune->discard,
$rule->new->name('*.t')->prune->discard,
$rule->new->name('*.bak')->prune->discard,
$rule->new->name('.*.bak')->prune->discard,
$rule->new->name('.#*')->prune->discard,
);
my @files = $rule->in(".");
在某些情况下,我想包括这一行
$rule->directory->name("_private.d")->prune->discard
在其他情况下,我不想排除目录_private.d
..
您可以使用空列表()
跳过第二个元素,
my @a = (1, ($condition ? 2 : ()), 3);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)