我在一個目錄中有一個文件,我想從目錄中一次選擇一個特定的文件。如何使用Perl在目錄中搜索特定文件?
守則如下:
$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;
}
我輸入要返回sample.xml
文件名。但是在@dirs_found
變量中,所有以's'開頭的文件名都被存儲。
如何一次找出確切的一個文件?
您應該使用'使用警告';'和'嚴格使用'。而你正在學習Perl,因爲它們可以幫助你發現你不知道你可以犯的錯誤。當你是專家時,你使用'使用警告';'和'嚴格使用'。反射性的,因爲它們幫助你捕捉到愚蠢的錯誤。 – 2010-09-08 11:43:03
@Jonathan Leffler對於初學者,您對「使用診斷」有何看法,而不是「使用警告」?我總是矛盾的。它給你更多的信息,但它又給你**更多的信息**。 – 2010-09-08 11:50:02
@Chas:建議總是'使用警告';'和'嚴格使用'。 - 我不知道「使用診斷」;直到你問。然而,Perl 5.12.1手冊說診斷是核心,而頁面底部的日期是1995年,所以它幾乎是永遠(幾乎)。由於它似乎使'使用警告;'更容易理解,但不提供新功能,如果您使用診斷而不是警告 - 我不認爲這很重要 - 但我懷疑我是否會改變。關鍵是讓Perl儘可能幫助你。 – 2010-09-08 11:58:09