• ベストアンサー

requireの使い方がわかりません。

外部ファイルのサブルーチンを(requireを使って)読み込んで使用したいのですが、どうもうまく行きません。 cgiファイルとplファイル、どっちも作って両方試してみましたがだめでした。 なにかこの方法だとできないことなど制限ってあるのでしょうか。 それとも、何か特別な処理が必要なのでしょうか。 原因が分からず困っています。

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

  • ベストアンサー
noname#4147
noname#4147
回答No.1

どのようにうまくいかないのか分からないので、 いくつか考えられる点を上げておきます。 1.requireされるファイルの最後で、1(真)を返していない。 ファイルの最後(サブルーチンの外)に「1;」等の記述があるか確認してください。 2.requireされるファイルのサブルーチンから、必要な変数にアクセスできない。 変数がmyで宣言されていると、外部ファイルからアクセスできません。 適切にスコープを宣言してください。 3.そもそもrequireできていない。 シェルが使える環境でしたら、「perl -e 'require "file";'」を実行して、 エラーが出ないか確認してください。(fileは実際のファイル名に置き換えてください。) 思い当たる箇所がなければ、perl -wc でのエラー表示や、 サブルーチン自体を、差し支えない範囲で載せていただけると 分かるかもしれません。

namiri_e
質問者

お礼

お答えいただいて本当にありがとうございました。 ご指摘どおり(1)が原因でした。 やっぱり特別な処理が必要だったんですね。 おかげさまで、正常に動くようになってとても助かりました。

関連するQ&A