0
在一個函數中我得到一個文件的引用。這可能是一種格式dir1/subdir/filename.txt
是否有Perl的辦法做到:如何創建一個文件的完整路徑,如果它不存在?
- 如果文件不存在,創建它和目錄結構 好,如果它不存在
- 這種方式保證,如果兩個腳本試圖同時做同樣的 什麼都不會發生錯誤(例如最終與 損壞/鎖定的文件等)?
在一個函數中我得到一個文件的引用。這可能是一種格式dir1/subdir/filename.txt
是否有Perl的辦法做到:如何創建一個文件的完整路徑,如果它不存在?
my $filename="dir1/subdir/filename.txt";
if (-e $filename)
{
print "file exists";
open(FILE, '<', $filename) or die 'Could not open file: ' . $!;
}
elsif (!-e $filename)
{
print "file does not exist";
}
兩個-e和-f可以用來檢查文件是否存在或不
2.爲了避免衝突,我認爲你可以在文件名中創建帶有創建時間的文件。但是,我不確定您是否可以使用相同的方式創建。
'-e'檢查文件或目錄是否存在。儘管目錄不太可能被命名爲'filename.txt',你應該使用'-f'來檢查*文件*是否存在。 – NigoroJr
您應該查看['File :: Path'](http://search.cpan.org/perldoc?File%3A%3APath)和'flock',或許。 – TLP