FindBin - スクリプトが存在するディレクトリのパスを取得



  1. Perl




  2. モジュール



  3. here

FindBinモジュールを使用すると、スクリプトが存在するディレクトリのパスを取得することができます。

# モジュールの読み込み
use FindBin;

スクリプトが存在するディレクトリのパスは$FindBin::Binというパッケージ変数に代入されています。

# スクリプトが存在するディレクトリのパスを取得
my $script_dir = $FindBin::Bin;

FindBinは使い方が少し変わったモジュールですが、スクリプトの存在するディレクトリのパスを取得するための標準的な方法です。

モジュールの読み込みパスを設定

FindBinモジュールはlibモジュールと一緒に利用され、モジュールの読み込みパスを設定することが多いです。

以下のようにすると、スクリプトの存在するディレクトリの中にあるlibというディレクトリが、モジュールの読み込みパスに設定できます。

# スクリプトの存在するディレクトリのlibディレクトリを検索パスに追加
use FindBin;
use lib "$FindBin::Bin/lib";
スクリプトのベース名

スクリプトのベース名は$FindBin::Scriptで取得することができます。

use FindBin;
$FindBin::Script