- 締切済み
CGI..pmをテストしようとするとエラーがでます。
こんにちわ。windowsXPを使用していますが、CGI.pmをテストしようとするとエラーが出てきます。内容は「perl.exe.アプリケーションエラー 0x28085b5dの命令が0x00000004のメモリーを参照しました。メモリが\"written\"になることは出来ません。」というものです。どうすれば解決するのでしょうか。教えて下さい。勉強不足で全く解りませんが、自分で原因をわかる範囲で考えるとCGI.pmをplの中で複数回use CGIという最初の箇所から入れたからなのか…でも全く解りません。サブルーチンの中で一回一回use~書かなくても良いのでしょうか?それも解らないので教えて下さい。最初は一回一回subの中で書かずファイル冒頭に書いただけだったのですが、テストするとプロンプトでsubの中で呼ばれているsubを「不明なsubである」と出たので、ブロック中で最初から書いてみました、するとそれが出なくなりました。でもブロックの中で同ページでもuse CGI;$q=new CGIと書かなくてはいけないのだろうかと半信半疑です。CGI.pmは今回初めてテストしてみました。理解していない部分が多いですが、エラーとuseの件よろしくお教え下さい。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- egtm17
- ベストアンサー率0% (0/0)
とりあえず、useの件のみですが、 >サブルーチンの中で一回一回use~書かなくても良いのでしょうか? "use CGI;"はスクリプト内で一回だけ宣言しておけば良いですよ。 サブルーチンなどの記述の前(グローバル領域?)に宣言しておけば、後はどこからでもCGIをつかえるようになります。 エラーの件はちょっと状況が不明なので、 公開できる部分だけでもソースをアップしてみてはどうでしょうか? がんばってください。 例:) #!/usr/bin/perl use CGI; sub xxx{ }
お礼
アドバイス有難う御座います。CGIは一度宣言しておけば大丈夫なのですね、またがんばってみたいと思います。励ましのお言葉も本当に今回お返事を大変お待ちしていた為とても嬉しかったです。有難う御座います。その後も何度か問題のファイルを試してみているのですが、なんとなく解ってきたような気がしてきました。余分な処理が数箇所に入っていると同じエラーが出ました。・・式自体が多分処理を混乱させているような気がしました。もう少し様子を見て解決できそうならばこの質問を締め切りさせて頂こうと思いました。egtm17さんお教え頂き本当に有難う御座いました。