是否可以使用條件項目創建數組?使用條件項目生成列表
my @a = (1, ($condition) ? 2 : "no-op", 3);
這樣"no-op"
是功能等作品,如果$condition
是假的,然後我得到的名單(1, 3)
但如果$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
..
「想有」 和「不想排除「幾乎是一回事。 – TLP
'my @a =(1,$ condition?2:「no-op」,3);'應該可以工作 –
@TLP是的,但是在這裏它們並不意味着同樣的東西.. :) –