perl - 如何根据扩展名过滤文件名?

标签 perl list filter

以下脚本将所有文件和目录存储在数组 @file_list 中.

如何仅过滤带有 .lt6 的文件扩展名,仅此而已?

opendir (CURRDIR, $localdir);
@file_list = grep !/^\.\.?$/, readdir CURRDIR;
print STDOUT "Found Files: @file_list\n";

干杯

最佳答案

尝试这个:

grep(/\.lt6$/i, readdir(CURRDIR))

我已经用过很多次了。它有效,尽管现在我更喜欢使用 File::Next对于这种事情。

例子:
use File::Next;

my $iter = File::Next::files( { file_filter => sub { /\.lt6$/ } }, $localdir )

while ( defined ( my $file = $iter->() ) ) {
    print $file, "\n";
}

关于perl - 如何根据扩展名过滤文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552414/

相关文章:

javascript - 过滤 JSON 三重嵌套

list - scala 过滤元组列表的列表

python - 我怎样才能清理这个请求结果?

perl - 我可以在 perl 中自动装箱单个变量吗?

php - 使用 MySQL 的 CGI : How to display all data from table?

linux - 在脚本化 Web 应用程序中是否更喜欢 fork 进程(而不是 fork 线程)?

python - 在 python 中查找来自不同列表的匹配元素时遍历列表

perl - NPP.EXEC 和 perl --> 保存输出?

java - 使用 Java 断言 List<> 中的第一项

c# - 数据表还是 IList?哪个更好?