我有一段用于searchnig目录的Perl代码,如果找到匹配则显示该目录的内容.代码如下:
$test_case_directory = "/home/sait11/Desktop/SaLT/Data_Base/Test_Case";
$xml_file_name = "sample.xml"
$file_search_return = file_search($xml_file_name);
print "file search return::$file_search_return\n";
sub file_search
{
opendir (DIR, $test_case_directory) or die "\n\tFailed to open directory that contains the test case xml files\n\n";
print "xml_file_name in sub routines:: $xml_file_name\n";
$dirs_found = grep { /^$xml_file_name/i } readdir DIR;
print "Files in the directory are dirs_found :: $dirs_found\n";
closedir (DIR);
return $dirs_found;
}
Run Code Online (Sandbox Code Playgroud)
输出是,
xml_file_name in sub routines:: sample.xml
Files in the directory are dirs_found :: 1
file search return::1
Run Code Online (Sandbox Code Playgroud)
它没有返回找到的文件名.相反,它总是返回数字1.
我不知道为什么它没有返回sample.xml目录中名为present 的文件名.