• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:packageの中からのrequireがうまくいかない)

packageの中からのrequireがうまくいかない

このQ&Aのポイント
  • 質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください
  • requireを使って別のファイルの関数を呼び出す際に、Undefined subroutineのエラーが発生しています。どのようにすれば正常に動かすことができるでしょうか。
  • module1.pm内でmodule2.plの関数を呼び出す際にエラーが発生しています。main.plからmodule1.pmを呼び出すことでエラーが解決できるかもしれません。

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.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;

cake4
質問者

お礼

すいません、私の確認ミスでした 私の手元環境Unix Perl5.6でも module2::hyoji(); で動きました。 ありがとうございました。

関連するQ&A