下記は、メールフォーム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で質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- 英語 「this is the/my first time~」の文法上の制約について 1 2023/04/06 09:48
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- YouTube youtubeからの著作権メールについて 2 2023/02/14 16:12
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- 英語 提示した名言の文の構造について(waste one hour of time) 5 2023/05/20 15:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
前日の日付取得するには?
-
Perlでsprintf("%02d",$month)...
-
1桁の日付に0を付ける
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
<SELECT>タグの折り返し
-
16進の10進変換について
-
実行時エラー 3020の対策
-
文字の横にプルダウンを表示さ...
-
デ-タテ-ブルの内容での更新...
-
セレクトメニューで2つの項目...
-
数値英単語変換
-
セレクトボックスのselected属...
-
複数列を持ったリストボックス...
-
selectタグ内の特定のoptionの...
-
【メモリ不足で落ちる(python)】
-
STLのlistで重複するものだけを...
-
【至急!!!】python言語で本を見...
-
パイソンのクラスについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlでsprintf("%02d",$month)...
-
1桁の日付に0を付ける
-
日齢計算プログラム
-
Perlの日付の比較に関して
-
当日の日付をプルダウンメニュ...
-
Cookieの有効期限について
-
CSVファイルに出力
-
日付の差分の求め方(日、分)
-
うるう年の出し方
-
Schemeのプログラミング うる...
-
Perlで60進数を作りたい
-
PHPのstrtotimeのようなものあ...
-
2つの日付・時間の差分を求め...
-
a shower.
-
日付範囲をの連番と月末を取得
-
体重が3kg増える/減る の英語...
-
C言語でのPICプログラミング
-
前日の日付取得するには?
-
ソースの詳細を教えてください。
-
PerlからMysqlに接続してデータ...
おすすめ情報