Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 特殊変数
  3. here

読み込まれているモジュールを調べる %INC

読み込まれているモジュールを調べるには%INCという特殊変数を使います。

%INC

%INC ハッシュは、モジュール名とモジュールのファイル名の組み合わせが、代入されています。モジュール名と、実際にどのファイルをインポートしたのかがわかります。Data::Dumperで出力した結果は以下のようになっています。

$VAR1 = {
          'Data/Dumper.pm' => 'C:/Strawberry/perl/lib/Data/Dumper.pm',
          'XSLoader.pm' => 'C:/Strawberry/perl/lib/XSLoader.pm',
          'feature.pm' => 'C:/Strawberry/perl/lib/feature.pm',
          'Carp.pm' => 'C:/Strawberry/perl/lib/Carp.pm',
          'warnings.pm' => 'C:/Strawberry/perl/lib/warnings.pm',
          'bytes.pm' => 'C:/Strawberry/perl/lib/bytes.pm',
          'strict.pm' => 'C:/Strawberry/perl/lib/strict.pm',
          'Exporter.pm' => 'C:/Strawberry/perl/lib/Exporter.pm',
          'warnings/register.pm' => 'C:/Strawberry/perl/lib/warnings/register.pm',
          'constant.pm' => 'C:/Strawberry/perl/lib/constant.pm'
        };

%INCはモジュールの検索パスが格納されている、 @INC とは何の関係もありません。@INC と %INC はまったく別の変数です。モジュール名だけを知りたい場合は、keys関数で、キーだけを取り出してあげます。

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