- ベストアンサー
Perl環境移行中。(変なモジュールのせいで動かない??
こんばんは。よろしくお願いします。 今現在、新旧サーバの機器切り替え~のために、旧サーバで運用中の環境を新サーバに移している最中です。 大体移行できたかな。。。と思っていたのですが、「Time」とか「Date」とか言う部分が原因で実行できません。 どなたかお知恵をお貸し願えませんでしょうか。 状況 新旧サーバ、共にOSは「Windows2003Server」 IISは、旧サーバのIISの「構成の保存」を利用して保存、新サーバの方から保存したファイルを参照させて設定。 ほとんどの移行は終わり、表示、予定通りの動きをするが、「Time」や「Date」を使用しているplファイルだけ表示されない。 症状(?) 正常に表示されないファイルをブラウザで表示させると 「CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.」 と表示される。 「use My::Time;」 「use My::Date;」 という部分があるが、ここを消すとページが表示される。(ただし、TimeやDateを使っていたであろう、カレンダーなどは表示されない。 「use Time::Local;」という文が、上記の「My::Time~」の上にあるのですが、モジュールの使用宣言でいいのですよね? 調べた限り「Time::Local」というモジュールはあれど、「My::Time」や「My::Date」というモジュールは無い(?)のでは? 自作関数(?)とか、そういう類のものでもないようです。 この「My::Date」や「My::Time」はいったい何なのでしょう?想像としては、実行するサーバの日付と時間を取得してきそうなのですが。。。 どこかに設定が必要?? 可能性だけでも見当がつく方がいましたらアドバイスよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
My::TimeやMy::Dateという名前のモジュールは存在(公開)していません。(少なくともCPANでは公開されていません。) ということは、そのCGIのための独自に用意されたモジュールであると思われます。 CGIを構成しているファイルで、「My」というディレクトリ(フォルダ)中にDate.pmおよびTime.pmというファイルがあるかと思われます。 それをエラーが起きるファイルと同じディレクトリに同じ構成で置くか、Perl本体のモジュール用のディレクトリ(site/lib)に置いてください。 もし、CGIを構成しているファイルに上記のファイルがなければその旧サーバーの本体のモジュール用のディレクトリに既に置いてあると思われます。
その他の回答 (1)
- pipipi523
- ベストアンサー率40% (148/365)
標準で付いてこないモジュールはCPANかPPMでインストール出来ます PPMの使い方 http://digit.que.ne.jp/work/index.cgi?Perl%e3%83%a1%e3%83%a2%2f%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%28PPM%29 CPANの使い方 http://digit.que.ne.jp/work/index.cgi?Perl%e3%83%a1%e3%83%a2%2f%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%bc%e3%83%ab%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%28CPAN%29 WindowsならPPMの方が使いやすいかも知れません
お礼
回答ありがとうございます。 2番さんの内容で解決することができました。 CPAN、PPMに関しては既にどのようなものかは知っていたつもりでしたので、CPANから探してみてモジュールとしてなかったのでどうなのだろう。。。?と思い質問させていただきました。 専用(?)の使い方が書いてあったサイトがあまり見つけられなかったので、今後の参考にさせていただきます。 ありがとうございました。
お礼
回答ありがとうございます。 ビンゴでした。回答を元に解決できました。 確かに、その1つのシステムで使用されているフォルダ内には「My」フォルダがあり、その中に「Date.pm」と「Time.pm」が存在しました。 Perl本体の方には存在していなかったのでそのままコピーしてやることで動かすことができました。 どうもありがとうございました。