#! /usr/bin/perl #↑perlのパスです同じでしたか?違うのなら変更しましょう require 'jcode.pl'; $chatname = "index"; $title = "みいチャット";#チャットの名称 $log = "50";#ログの表示行数 $bg = "FFB6C1";#チャットの背景色 $tx = "#000000";#チャット中の発言等の文字色 $hc = "0000FF";#ハンドル部分とハイパーリンクの文字色 $k_nin = 'harumi';#管理者としてのハンドル $email = 'katsu@concentric.net';#あなたのメールアドレス ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);#時間の設定 #もし時差がある場合は下記の例のように変更してください #3時間遅れているならばlocaltime(time+3*60*60) #3時間進んでいるならばlocaltime(time-3*60*60) if ($sec < 10) { $sec = "0$sec"; } if ($min < 10) { $min = "0$min"; } if ($hour < 10) { $hour = "0$hour"; } $month = ($mon + 1); print "Content-type: text/html\n\n"; $date_now = "$month月$mday日 $hour時$min分$sec秒";#時間表示の形式(フォーマット) if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } if ($buffer eq "") { &html; } else { &an_r; $no="0"; &jcode'convert(*chat,'sjis'); if ($chat eq "") { $no="1"; &html; } else { &an_w; &html; } } sub html { open(DB,"$chatname"."_log"); @ines2 = ; close(DB); $log_l = @ines2; if ($log_l >= $log*3){ &l_slim; } @ines = reverse @ines2; print "\n"; &t_t; if ( $reld eq 0 ) { } else { if ($reld eq "") { } else { print "\n"; } } print "$title\n"; print "\n"; &s_tr; print "
\n"; print "みいチャットは下記へ移転しました。
Bookmark等の変更をお願いいたします。

http://www.sonota.net/sone/mie/chat.cgi
\n"; $p_log = 0; foreach $line (@ines) { if ($line =~ /\[(.*)\] (.*) \^ (.*) \^ (.*)/) { $date = $1; $id = $2; $cn = $3; $chat = $4; #次の3行はチャット内容を表示する時の形式(フォーマット) } $p_l = $p_l +1; if ($p_l == $log){last;} } print "\n"; } sub t_t{ $cnr = $cn; $cn =~ s//>/g; $cn =~ s/"/"/g; $cnr =~ s/&/%26/g; $cnr =~ s//>/g; $cnr =~ s/"/"/g; $cnr =~ s/=/%3d/g; $cnr =~ s/\+/%2b/g; $cnr =~ s/ /+/g; $cnr =~ s/#/%23/g; $cnr =~ s/;/%3b/g; } sub s_t{ if ($chat eq "消去"){$chat = ""} else{$chat =$chat."

" } open(SUB_T,">$chatname"."_sub"); print SUB_T "$chat"; close(SUB_T); } sub s_tr{ open(SUB_T,"$chatname"."_sub"); $st =(); close(SUB_T); } sub an_r { @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &tag_c; $FORM{$name} = $value; } $cn = $FORM{'chat-name'}; &jcode'convert(*cn,'sjis'); $chat = $FORM{'chat'}; &jcode'convert(*chat,'sjis'); $reld = $FORM{'RELOAD'}; &jcode'convert(*reld,'sjis'); } sub t_kill { $value =~ s//>/g; } sub tag_c { if ($value =~ /