2012-06-05 43 views
0

我試圖從一個Perl腳本中調用腳本。 我可以看到2種方法。我如何從我的Perl腳本調用同一目錄中的腳本

使用./somescript或指定完整的目錄路徑。兩者都不是理想的,因爲只要調用者cd進入目錄,「./」就會工作。完整的路徑,不是相對的,而是絕對的。無論如何圍繞這個?謝謝

+0

http://stackoverflow.com/questions/84932/how-do-i-get-the-full-path-to-a-perl-script-that-is-executing –

回答

1

使用FindBin模塊如果您想查找您的原始腳本所在的目錄,並且使用Cwd如果您想查找當前的工作目錄。要做到這一點

0

要獲得當前正在執行的腳本的完整路徑,可以使用PerlMonks中的either of the following chunks of code。文件::基本名稱:

#!/usr/bin/perl -w 
use strict; 
use File::Spec::Functions qw(rel2abs); 
use File::Basename; 
print dirname(rel2abs($0)); 

CWD可用於此目的。 CWD例如:

use Cwd; 
my $dir = getcwd; 

它應該能夠建立使用基本目錄的初始腳本的相對位置和你想調用第二個腳本的知識完整路徑,加分。這樣,雖然您將使用絕對路徑來調用第二個腳本,但您只是對相對路徑進行硬編碼?