如何從Perl的目錄中分離文件

讓'說(shuō)你'重建Perl腳本來(lái)遍歷文件系統(tǒng)并記錄它的發(fā)現(xiàn)。當(dāng)您打開(kāi)文件時(shí),您需要知道您是否'正在處理實(shí)際文件或使用不同對(duì)待的目錄。您想繪制一個(gè)目錄,所以您可以繼續(xù)遞歸地解析文件系統(tǒng)。從目錄中告訴文件的最快方法是使用Perl's內(nèi)置文件測(cè)試運(yùn)算符.Perl有可用于測(cè)試文件不同方面的運(yùn)算符。-f運(yùn)算符用于標(biāo)識(shí)常規(guī)文件,而不是目錄或其他類型的文件。

Using the-f File Test Operator

 #!/usr/bin/perl-w
$文件名='/path/to/your/文件.doc';
$directoryname=&##39;;
if(-f$filename科普傳播){
print"這是一個(gè)文件。";
}
if(-d$directoryname){
print"這是一個(gè)目錄。&##34;;
}

首先,創(chuàng)建兩個(gè)字符串:一個(gè)指向文件,一個(gè)指向目錄。接下來(lái),使用-f運(yùn)算符測(cè)試$文件名,該運(yùn)算符檢查是否有文件。這將打印"這是一個(gè)文件。"如果您嘗試目錄上的-f運(yùn)算符,它不會(huì)打印't打印。然后,對(duì)$directoryname執(zhí)行相反的操作,并確認(rèn)它實(shí)際上是一個(gè)目錄。將其與目錄glob組合以排序哪些元素是文件,哪些是目錄:

##!/usr/bin/perl-w
@files=<*>;
foreach$file(@files){
if(-f$file){
print"這是一個(gè)文件:&35; 34。$file;
}
if(-d$file){
print"這是一個(gè)目錄:"。$file;
}
}

Perl文件測(cè)試運(yùn)算符的完整列表可在線獲得。