時刻の表示のフォーマットを変える
[YYYY/MM/DD hh:mm]
1: #!/usr/bin/perl
2: print "Content-type:text/html\n\n";
3: print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n";
4: use Socket;
5: use Jcode;
6: require './code/mimew.pl';
7: use File::Basename qw(basename);
8: $this_Filename = basename($0, ''); #ファイル名の取得
9:
10: #---接続情報の設定-----
11: $pop_server="pop.grot3.com"; #POPサーバー名の指定(サーバ名は仮定です)
12: $account="grot3"; #POPサーバー用アカウント(仮定です)
13: $password="1234567"; #POPサーバー用パスワード(仮定です)
14:
15: #-----表示内容の分岐
16: $query=$ENV{QUERY_STRING}; #URLの引数部分の取得
17: if($query eq ""){ #引数が無い場合、ヘッダー表示(0)
18: &HeaderList(0);
19: } elsif ($query =~ m/page/i){ #引数(page)がある場合、指定ページを開く
20: @args=split(/=/ , $query);
21: &HeaderList(@args[1]);
22: } elsif ($query =~ m/mailno/i){ #引数(mailno)がある場合、メール本文を開く
23: unlink (<./tmp/*>); #[./tmp]内のファイル(前回開いたメールの添付ファイル)を全て消す
24: @args=split(/=/ , $query);
25: &MailBody(@args[1]);
26: }
27:
28: #----------------------------------------------
29: #受信メール表示--(本文)
30: #----------------------------------------------
31: sub MailBody{
〜省略〜
32: }
33:
34: #----------------------------------------------
35: #ヘッダー処理(ヘッダー名を変数名とし、値を代入)
36: #----------------------------------------------
37: sub HeaderList{
〜省略〜
38: }
39:
40: #----------------------------------------------
41: #接続
42: #----------------------------------------------
43: sub ConnectPop{
〜省略〜
44: }
45:
46: #----------------------------------------------
47: #ヘッダー処理(ヘッダー名を変数名とし、値を代入)
48: #----------------------------------------------
49: sub MailHeader{
〜省略〜
50: if($$name=~m/boundary=/i){@_=split(/boundary=/,$$name);$Boundary=$_[1];$Boundary=~s/\r\n//g;}
51: if($$name=~m/charset=/i){@_=split(/charset=/,$$name);$charset=$_[1];$charset=~s/\r\n//g;$charset=~s/\"//g;}
52: if($name=~m/Date/i){&Date($Date);}
〜省略〜
53: }
54:
55: #----------------------------------------------
56: #日付表示形式変更用 YYYY/MM/DD hh:mm
57: #----------------------------------------------
58: sub Date{
59: $Date = $_[0];
60: @value=split(/ /,$Date);
61:
62: if(@value[1]=~m/[^0-9]/){
63: $DD=@value[2];
64: $MM=@value[3];
65: $YYYY=@value[4];
66: $TT=@value[5];
67: } else {
68: $DD=@value[1];
69: $MM=@value[2];
70: $YYYY=@value[3];
71: $TT=@value[4];
72: }
73:
74: #-----MMの整形
75: if($MM eq Jan){$MM="01";}if($MM eq Feb){$MM="02";}if($MM eq Mar){$MM="03";}if($MM eq Apr){$MM="04";}
76: if($MM eq May){$MM="05";}if($MM eq Jun){$MM="06";}if($MM eq Jul){$MM="07";}if($MM eq Aug){$MM="08";}
77: if($MM eq Sep){$MM="09";}if($MM eq Oct){$MM="10";}if($MM eq Nov){$MM="11";}if($MM eq Dec){$MM="12";}
78:
79: #-----TT(hh:mm)の整形
80: @TT=split(/:/ , $TT);
81: $TT="@TT[0]:@TT[1]";
82:
83: #-----DDの整形
84: $DD=sprintf("%02d",$DD);
85:
86: $Date="$YYYY/$MM/$DD $TT"
87: }
メモ:
58〜87行目のサブプロシージャ内でフォーマットを変更。
52行目でDateサブプロシージャの呼び出し。