我試圖從一個Perl腳本中調用腳本。 我可以看到2種方法。我如何從我的Perl腳本調用同一目錄中的腳本
使用./somescript或指定完整的目錄路徑。兩者都不是理想的,因爲只要調用者cd進入目錄,「./」就會工作。完整的路徑,不是相對的,而是絕對的。無論如何圍繞這個?謝謝
我試圖從一個Perl腳本中調用腳本。 我可以看到2種方法。我如何從我的Perl腳本調用同一目錄中的腳本
使用./somescript或指定完整的目錄路徑。兩者都不是理想的,因爲只要調用者cd進入目錄,「./」就會工作。完整的路徑,不是相對的,而是絕對的。無論如何圍繞這個?謝謝
要獲得當前正在執行的腳本的完整路徑,可以使用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;
它應該能夠建立使用基本目錄的初始腳本的相對位置和你想調用第二個腳本的知識完整路徑,加分。這樣,雖然您將使用絕對路徑來調用第二個腳本,但您只是對相對路徑進行硬編碼?
的一種方法是,以確定你的腳本所屬的目錄,並使用該How do I get the full path to a Perl script that is executing?
提供了2種方法來實現這一目標。
http://stackoverflow.com/questions/84932/how-do-i-get-the-full-path-to-a-perl-script-that-is-executing –