新規記事投稿
フォロー記事投稿
記事のキャンセル
From: にあ
<nir@mxa.meshnet.or.jp>
Subject: timelocal.plをコメントアウトしてたのですか (^^;
Date: 1998/01/29 22:23:00
Reference: mesh.forum.3/00049
1月29日に、SCENEさんは書きました。
>>おや、contents.cgi と forum.pl をいじっていますね。 変更点はどこですか?
>forum.plの方は、14行目をコメントにしました。
>
>require "$CGIPATH/site.pl";
>require "$CGIPATH/http.pl";
>#require "timelocal.pl";
>
>この理由は、コメントにしないと、
>yanohara@sse[17] ./contents.cgi
>Can't locate timelocal.pl in @INC at /usr/local/www/cgi-bin/forum/forum.pl line14.
>と言われるからです。
>
あれれ、timelocal.plのインクルードをコメントアウトしてたのですか。(^^;;
では、エラーになるわけですね。
ただし、timelocal.plのコメントアウトなら、別のブラウザから読まなくても
メニューや一覧の有効時間を過ぎてからの再読み込みでエラーになるはずですし、
別のブラウザでも一度も会議室を読んだことのないブラウザやキャッシュを
クリアした後ならエラーにならないはずです。
偶々投稿直後に、以前に会議室を正常に読んだことがありキャッシュに入っている
ブラウザを使ってアクセスしたからエラーになっただけで、投稿直後でなくても
そのブラウザで読めばエラーになりますね、多分。(^^;
# 2番目のアクセスだと出来ない、と言う一見面白そうな現象にとらわれてしまいましたね。
## timelocal.plが無いとブラウザの通知してきた最終修正時間を内部表現の
## 時間に直すところでエラーになるので、ブラウザが最終修正時間を知っている、
## つまりペーヂがキャッシュに入っている時にアクセスするとエラーになるわけです。
さて、単に require "timelocal.pl"; するとエラーになると言うことは
perlの標準ライブラリ群のインストールにしくじっていると言うことですから、
もしもSCENEさんがサーヴァの管理者ならその辺を修正しておくことをお勧めします。
# まあ、インストールし直すのが一番簡単でしょうか。
もしも、サーヴァに手が付けられないのなら、timelocal.plをうぇぶ会議室の
スクリプトディレクトリに持って来て、
require "$CGIPATH/timelocal.pl";
にしてしまえば良いです。
だけど、
yanohara@sse[1] pwd
/usr/share/perl
yanohara@sse[2] ll timelocal*
-r--r--r-- 1 bin bin 2591 Mar 25 1997 timelocal.pl
と言うのはホントにperl5.003に付いてきたライブラリですか?
手元に残っているのを見ると、
$ pwd
/usr/local/lib/perl ← perl4.036用
$ ll timelocal.pl
-rw-r--r-- 1 nir hyper 2581 6月 24日 1996年 timelocal.pl
$ pwd
/usr/local/lib/perl5.003 ← perl5.003用
$ ll timelocal.pl
-rw-r--r-- 1 nir hyper 3536 1月 25日 1996年 timelocal.pl
$ pwd
/usr/local/lib/perl5 ← perl5.004用のTime::Localの呼び出し
$ ll timelocal.pl
-rw-r--r-- 1 nir hyper 690 7月 5日 1997年 timelocal.pl
と言うことでサイズが合わないですが...
# まあ、うちのも古いライブラリは単にとってあっただけで使ってはいないから
# 本物かどうかはチョット自信ないですが。(^^;