- ベストアンサー
使用できる関数かどうか調べる方法はありますか?
こんにちは。 いつもお世話になっております。 テスト用のローカルサーバーとか、UP用のサーバーなどで 使用したい関数が、使用できる環境にあるか調べる方法を 教えて下さい。 PHPだったら、phpinfo();である程度わかるようなモノは Perlでもあるのでしょうか…? 宜しくお願い申し上げます。
- みんなの回答 (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 でモジュール名のフォルダがあるかどうか調べる。
お礼
こんばんは。 レスありがとう御座いました。 Perlのモジュールって何でもあるのですね。 definedの存在も知らなかったので、とても勉強になりました。 ご指導、ありがとう御座いました。