#!/usr/bin/perl #2002年10月11日(金)版 $\ = "\n"; #入力を整理。 $val = ""; unless($ENV{CONTENT_LENGTH} == 0){ read(STDIN,$_,$ENV{CONTENT_LENGTH}) ; @argv = split /&/; foreach(@argv){ ($key,$val) = split /=/; $arg{$key} = $val; } unless($arg{text} eq ""){ # リロード対策。 $chk =""; open(CHK,"chk"); while(){ chop; $chk = $chk.$_ ; } close(CHK); $ref = $arg{name}.$arg{text}; chop $ref ; if( $chk eq $ref){ $arg{name} = ""; $arg{text} = ""; } else{ open(CHK,">chk"); print CHK $ref ; close(CHK); } $arg{name} =~ s/%(..)/pack("C",hex($1))/eg ; $arg{text} =~ s/%(..)/pack("C",hex($1))/eg ; $name = $arg{name}; $val = $arg{text}; # #SJIS,JIS,EUC -> SJIS use Jcode ; $name = jcode($name)->h2z->sjis; $name =~ s///g; $name =~ s/\+/ /g; $name =~ s/\t//g; $name =~ s/\r\n/\n/g; # Win→Unix $name =~ s/\r/\n/g; # Mac→Unix #$name =~ s/&/&/g; #$name =~ s/"/"/g; #$name =~ s//>/g; $val = jcode($val)->h2z->sjis; $val =~ s///g; $val =~ s/\+/ /g; $val =~ s/\t//g; $val =~ s/\r\n/\n/g; # Win→Unix $val =~ s/\r/\n/g; # Mac→Unix $val =~ s/&/&/g; #$val =~ s/"/"/g; #$val =~ s//>/g; }} ########################################################### #最新ログナンバーを取得。上位15件を表示する準備。 ########################################################### #!/usr/bin/perl opendir DIR ,"."; @dir = readdir DIR ; @list = grep {/^[0-9]+.log/} @dir; @list2 = sort @list; $big = pop @list2; $big =~ s/^(....).*/\1/; $big = $big-0; ########################################################## # ########################################################## $\ = "\n"; #$mes = ""; $date = localtime; #open(LOG,"byo.log"); #while(){ # $mes = $mes.$_; #} #close(LOG); #chop $mes; $_ = $val; if ( $_ ne ""){ $big++ ; $log = sprintf("%04d.log",$big); open( LOG ,">".$log); print LOG ' '; print LOG 'おなまえ
',$name; print LOG '--------'; print LOG 'メッセージ
',$_; print LOG '
日付',$date; close(LOG); $\ = "\n"; } # print < はげましのお声、ないしは罵詈雑言

はげましのお声、ないしは罵詈雑言

御芳名

おことば

準備はいいですね


END for( $i = $big ; $i > 0 ; $i--){ print "

"; print $i; $mes = ""; $log = sprintf("%04d.log",$i); open(LOG,$log); while(){ $mes = $mes.$_; } close(LOG); #print


; $_ = $mes; s/@/(1)/g; s/A/(2)/g; s/B/(3)/g; s/C/(4)/g; s/D/(5)/g; s/E/(6)/g; s/F/(7)/g; s/G/(8)/g; s/H/(9)/g; s/I/(10)/g; s/J/(11)/g; s/K/(12)/g; s/L/(13)/g; s/M/(14)/g; s/N/(15)/g; s/O/(16)/g; s/P/(17)/g; s/Q/(18)/g; s/R/(19)/g; s/S/(20)/g; s/\n/
/g; print $_; print "
"; } print <やっぱり15件づつのメッセージを読む。 END2