我正在編寫一個Perl腳本來自動從文件夾複製PDF文件。識別普通文件夾和「。」/「..」文件夾之間的區別
用戶無法訪問他們沒有權限的文件夾,因此他們不會意外獲取他們不應該訪問的任何信息。
我有一個粗略的模型,除了一個錯誤:它一直看到.
和..
文件夾,並打開它們進入無限循環。
檢查以下條件語句以查看該文件是PDF,然後傳遞給我的copyPDF
,該文件檢查異常並複製該文件;否則它會通過並嘗試以文件夾的形式打開,如果文件夾掃描該內容並重復。
我試過很多方法來忽略.
和..
但它總是會導致忽略所有其他子文件夾以及。有人有工作嗎?
if ($file =~ /\.pdf$/i) {
print "$file is a pdf\n";
$fileLocation = "$directoryName/$file";
copyPDF("$fileLocation", "$file");
}
elsif ($file == '.') {
#print "argh\n";
}
else {
$openFolder = "$directory/$file";
print "*$openFolder";
openNextDirectory("$openFolder");
}
顯示我們爲您的文件發現的所有代碼。你在使用File :: Find嗎?向我們展示所有這些。 –
雖然我們在這,但[不要引用'「$ vars」'](http://perldoc.perl.org/perlfaq4.html#What%27s-wrong-with-always-quoting-%22$瓦爾斯%22?)沒有理由。 – melpomene
'next如果$ file =〜/^\.\.?$/'是解決這個問題的常用方法。 – TLP