perl スクリプト内からスクリプトを呼び出そうとしています。私はこれを行う2つの方法を見ることができます..
./somescript を使用するか、完全なディレクトリ パスを指定します。どちらも理想的ではありません。"./" は、呼び出し元がディレクトリに移動している間だけ機能するからです。フルパスは相対パスではなく絶対パスです。とにかくこのあたり?ありがとう
これを行う 1 つの方法は、スクリプトが属するディレクトリを特定することです。それを使用して、実行中の Perl スクリプトへのフル パスを取得するにはどうすればよいですか?
これを実現する 2 つの方法を提供します。
現在実行中のスクリプトへのフル パスを取得するには、PerlMonksの次のコード チャンクのいずれかを使用できます。ファイル::ベース名:
#!/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;
ベース ディレクトリに加えて、最初のスクリプトと呼び出したい 2 番目のスクリプトの相対的な配置に関する知識を使用して、フル パスを作成できるはずです。そうすれば、絶対パスを使用して 2 番目のスクリプトを呼び出すことができますが、相対パスをハードコーディングしているだけですか?