我经常使用类似的东西
my $dir="/path/to/dir";
opendir(DIR, $dir) or die "can't open $dir: $!";
my @files = readdir DIR;
closedir DIR;
Run Code Online (Sandbox Code Playgroud)
或者有时我会使用glob,但无论如何,我总是需要添加一两行来过滤掉.,..这很烦人.你通常如何处理这项共同任务?
我在目录中有一个文件,我想一次从目录中选择一个特定的文件.
代码如下:
$xml_file_name = <STDIN>;
chomp ($xml_file_name);
@o = file_search($xml_file_name);
print "file::@o\n";
sub file_search
{
opendir (DIR, "/home/sait11/Desktop/test/Test cases") or die "Failed to open directory\n";
@dirs_found = grep { /$xml_file_name/ } readdir DIR;
closedir (DIR);
# print "dir ::@dirs_found\n";
return @dirs_found;
}
Run Code Online (Sandbox Code Playgroud)
我正在输入要返回的文件名sample.xml.但是在@dirs_found变量中,所有以's'开头的文件名都会被存储.
如何一次找出确切的一个文件?