我想知道如何检查目录中是否有一个扩展名为.txt
的文件。
请告知如何做到。
答案 0 :(得分:4)
只需使用glob:
if ( <*.txt> ) { ... }
答案 1 :(得分:0)
#! /usr/bin/perl
my $dir = '.'; # current dir
opendir(DIRHANDLE, $dir) || die "Couldn't open directory $dir: $!\n";
my @txt = grep { /\.txt$/ && -f "$dir/$_" } readdir DIRHANDLE;
closedir DIRHANDLE;
print ".txt files found" if (scalar(@txt));
作为奖励,找到的所有.txt文件都在数组@txt中。
答案 2 :(得分:0)
请记住,*.txt
实际上可能是一个目录。如果是您要访问的文件,grep
glob
:
if ( grep -f, glob '*.txt' ) { ... }