- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:packageの中からのrequireがうまくいかない)
packageの中からのrequireがうまくいかない
このQ&Aのポイント
- 質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください
- requireを使って別のファイルの関数を呼び出す際に、Undefined subroutineのエラーが発生しています。どのようにすれば正常に動かすことができるでしょうか。
- module1.pm内でmodule2.plの関数を呼び出す際にエラーが発生しています。main.plからmodule1.pmを呼び出すことでエラーが解決できるかもしれません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
もうちょっと環境(バージョンとか)を具体的にしてもらえますか? 今手元で5.8.8(ActivePerl)を使ってやってみましたが、 > require "module2.pl" この行にセミコロンを付け加えて > testprint(); これを module1::testprint(); にして > module2::hyoji(); # エラー これでZZZが出力されました。 use module1; module1::testprint(); package module2; sub hyoji { print "ZZZ"; } 1; package module1; sub testprint { require "module2.pl"; #hyoji(); #エラー module2::hyoji(); # エラー #module1::module2::hyoji(); #エラー } 1;
お礼
すいません、私の確認ミスでした 私の手元環境Unix Perl5.6でも module2::hyoji(); で動きました。 ありがとうございました。