下記は、メールフォームCGIに書き込まれた日時などの情報をlog.cgiというファイルに書き出すスクリプトです。
2012/01/04 21:05:45 のような感じで、日付が刻まれるのですが、このうち月の部分がどの月に処理を行ってもいつも01になってしまうのですが、当方直し方がわかりません。
下記が実際の記載箇所です。4行目がおかしいのだと思いますが、どなたかお分かりの方、教えていただけないでしょうか。
my $path = "log.cgi";
my $ip = $ENV{'REMOTE_ADDR'};
($sec, $min, $hour, $mday, $month, $year, $wday, $stime) = localtime(time());
my $time = sprintf("%04d\/%02d\/%02d %02d\:%02d:%02d", $year + 1900, $mon + 1, $mday, $hour, $min, $sec);
my $message = $in{'メッセージ'};
$message =~ s/\r\n/ /g;
$message =~ s/\n/ /g;
if (open(FOUT, ">> $path")) {
print FOUT "$time\t$ip\t" . $in{'お名前'} . "\t" . $in{'E-mail'} . "\t" . $message . "\r\n";
close(FOUT);
}
よろしくおねがいいたします。
No.1ベストアンサー
- 回答日時:
> ($sec, $min, $hour, $mday, $month, $year, $wday, $stime) = localtime(time());
こちらでは、月を「$month」変数で受け取っているのに、
> my $time = sprintf("%04d\/%02d\/%02d %02d\:%02d:%02d", $year + 1900, $mon + 1, $mday, $hour, $min, $sec);
こちらでは、変数「$mon」を出力しているからです。$month+1にしましょう。
こういうエラーは「use strict;」で防ぐことができますので、use strict を使うことお薦めします。
http://dqn.sakusakutto.jp/2008/06/perlcgiuse-str …
なおしたら正しく表示されるようになりました。
教えていただいたURLも勉強させていただこうと思います。
初心者の質問に丁寧にお答えくださって、ほんとうにありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1桁の日付に0を付ける
-
perlでcheckboxがうまく整理で...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
実行時エラー 3020の対策
-
VBAでPDFのコピーとリネームを...
-
VB6で、長い時間かかる処理...
-
メモリをアドレスを直接指定し...
-
dieやPerl自体でエラーが発生し...
-
プルダウンメニューで中央表示
-
C++ APIについて エラーコード...
-
16進の10進変換について
-
実行中の変数の中身をイミディ...
-
Perl メール 初心者
-
<SELECT>タグの折り返し
-
VB2010 のユーザコントロールの...
-
int(input("○○"))の使い方
-
Net::Telnetでタイムアウト時間...
-
auのiPhoneでの受信メールが文...
-
メタタグのキーワードはいくつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報