0
'..'と 'Rollback'サブディレクトリは無視したいが、次のコードは動作しない。提案してください。Perlの正規表現: '..'と 'Rollback'サブディレクトリを無視する方法
if(-d $input) {
opendir (my $dh, $input) or die "Cannot opendir $input: $!";
while (my $dir = readdir($dh)) {
my $path_dir = File::Spec->catfile($input, $dir);
next unless (-d $path_dir && $dir =~ m/^(?![\.{2}|Rollback])/);
print "dir=$dir\n";
}
}
出力には1つのサブディレクトリのみが表示されますが、出力にはサブディレクトリと '。'が必要です。
$ dir =〜/ ^(?:\。\。|ロールバック)/ x' ... (また、 '\ .'をスキップします) – zdim
' -d $ dirや$ dir =〜/ ^(?:\。\。|ロールバック)| \。スキップするディレクトリの名前が "正確"であれば '/ ^(?:\。\。?|ロールバック)$ /;' – zdim