以下脚本存储阵列中的所有文件和目录@file_list.
我如何只筛选具有.lt6扩展名的文件,而不是其他文件?
opendir (CURRDIR, $localdir);
@file_list = grep !/^\.\.?$/, readdir CURRDIR;
print STDOUT "Found Files: @file_list\n";
Run Code Online (Sandbox Code Playgroud)
干杯
试试这个:
grep(/\.lt6$/i, readdir(CURRDIR))
Run Code Online (Sandbox Code Playgroud)
我已经多次使用它了.虽然现在我更喜欢使用File :: Next来做这件事.
例:
use File::Next;
my $iter = File::Next::files( { file_filter => sub { /\.lt6$/ } }, $localdir )
while ( defined ( my $file = $iter->() ) ) {
print $file, "\n";
}
Run Code Online (Sandbox Code Playgroud)