2017-08-14 118 views
-1

我有一個腳本,我試圖修改,以便根據執行的位置,它將檢查是否存在名爲的文件regression_user.rpt和如果是這樣,它將創建一個名爲的新文件regression_user1.rpt。我找到了解決方案,但我不知道如何改變它做我想做的。檢查文件名是否存在於當前目錄

我有如下:

my $filename = 'c:\temp\test.txt'; 
if(-e $filename){ 
    //Create file with new name 
    print("File $filename exists\n"); 
}else{ 
    //Create base file 
    print("File $filename does not exists\n"); 
} 

除此之外,爲$filename路徑是可變的。有沒有辦法將執行位置作爲變量納入此檢查?

這樣做的目的是確保我不覆蓋現有文件(已經發生過多次)。

回答

1

如果執行位置,你的意思是當前的工作目錄,你需要的是以下幾點:

my $filename = 'test.txt'; 

如果執行位置,你的意思是在被發現正在執行的腳本的目錄,你可以使用如下:

use FindBin qw($RealBin); 

my $filename = "$RealBin/test.txt"; 
+0

嗯,好的。我不知道我是否需要放置路徑,因爲文件和腳本位於不同的目錄中,但是通過一些模塊加載。 – Javia1492

+0

'test.txt' *是一個路徑。它引用當前目錄中的'text.txt'。 Path不需要有一個目錄組件。 – ikegami

相關問題