• ベストアンサー

使用できる関数かどうか調べる方法はありますか?

こんにちは。 いつもお世話になっております。 テスト用のローカルサーバーとか、UP用のサーバーなどで 使用したい関数が、使用できる環境にあるか調べる方法を 教えて下さい。 PHPだったら、phpinfo();である程度わかるようなモノは Perlでもあるのでしょうか…? 宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

CPAN にHTML::Perlinfo というモジュールがあるようです。 http://search.cpan.org/~accardo/HTML-Perlinfo-1.25/lib/HTML/Perlinfo.pm 使ったことがないので、細部についてはわかりません。 一般的には defined を使って関数が存在するかどうか調べることができます。 例 ユーザー関数の場合 defined(&add) 存在する時1、そうでないとき偽 システム標準関数の場合 defined(CORE::print) また、存在しない関数を呼び出した時にはAUTOLOAD 関数が呼び出されるので、 sub AUTOLOAD { print "$AUTOLOAD は未定義です"; } のようにしておけば &mul; のように存在しない関数を呼び出した時には main::mul は未定義です のように表示される。 モジュール内の関数については、そのモジュールが読み込まれていないと検査できません。(use モジュールで使う関数をリストしているかどうかでも違う) モジュールが存在するかどうかは、@INC でモジュール名のフォルダがあるかどうか調べる。

sibazuke
質問者

お礼

こんばんは。 レスありがとう御座いました。 Perlのモジュールって何でもあるのですね。 definedの存在も知らなかったので、とても勉強になりました。 ご指導、ありがとう御座いました。

関連するQ&A