Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

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

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
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。