• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CGIモジュールを使いたいのですがエラーがでます。)

CGIモジュールを使いたいのですがエラーが出ます。

このQ&Aのポイント
  • CGIモジュールを使用している際に、param関数を使うとインターネットサーバーエラーが発生します。エラーログにはUndefined subroutine &main::param called at C:/sample.cgi line 9.というメッセージが表示されます。どうしてエラーが発生しているのでしょうか?
  • CGIモジュールを使用しているプログラムにparam関数を追加したところ、インターネットサーバーエラーが発生しました。エラーログにはUndefined subroutine &main::param called at C:/sample.cgi line 9.というエラーメッセージが表示され、問題の箇所は$year = param('year');の行です。このエラーの原因は何なのでしょうか?
  • CGIモジュールを使用しているプログラムにparam関数を追加したところ、エラーログにUndefined subroutine &main::param called at C:/sample.cgi line 9.というメッセージが表示され、インターネットサーバーエラーが発生しました。なぜこのエラーが発生しているのか、どのように修正すればよいのでしょうか?

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

  • ベストアンサー
回答No.2

use CGI qw(standard); ではなく、 use CGI qw(:standard); です。 記述ミスですね。これで上手く動きます。

bakusui
質問者

お礼

とほほ・・・ 初歩的なミスでした。 これでうまくうごきました。 ありがとうございました。

その他の回答 (1)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

CGIモジュール内で定義されている関数などは、 CGIクラスの関数として定義されています。 そしてクラスの定義しかしていませんから、実体がありません。 まぁおまじないのように以下のようにしてみては? my $q = new CGI(); $year = $q->param('year'); $mon = $q->param('mon'); 「Perl CGIモジュール」で検索するだけでも解説やサンプルがでてきますよ。 モジュールはいちいち自分で作らなくていい、作りたいものの機能部分だけに集中できるという利点はありますが、使い方はしっかり調べないと自分で把握できないバグを作りかねません。 しっかり使い方を調べることをお勧めします

bakusui
質問者

お礼

CGIモジュールは便利そうなので勉強してつかえるようにします。 ありがとうございます。

関連するQ&A