use LWP::Simple; use Jcode; $docroot = $ENV{'DOCROOT'}; $teacupL1dir = "teacupL1"; $cgidir = $ENV{'CGIDIR'}; $alloutsw = 1; # 新着20件のうち未読のみ表示なら、0;新着20件すべて表示なら、1 if($ENV{'QUERY_STRING'}){ @in = split(/&/, $ENV{'QUERY_STRING'}); ($server = $in[0]) =~ s/^server=(.*)$/$1/;# serverにサーバー番号 ($user = $in[1]) =~ s/^user=(.+)$/$1/; # userにユーザー名 $getfile = "http://${server}.teacup.com/$user/bbs"; }else{ $getfile = "http://6620.teacup.com/take/bbs"; $server = "6620"; $user = "take"; } print < Teacup掲示板新着チェック
TeacupLevel1掲示板
HEADER @content = split(/\n+/, (get $getfile)); foreach $line (@content){ Jcode::convert(\$line, 'sjis'); if($line =~ /^([^>]+)<\/title>$/i){ $bbs_title = $1; }elsif($line =~ /^<font size="4" color="#[\w\d]{6}\t*"><b>([^<]+)<\/b><\/font> 投稿者:<font color="#[\w\d]{6}"><b>([^<]+)<\/b><\/font>$/i){ $title = $1;$writer = $2; }elsif($line =~ /^<font size="4" color="#[\w\d]{6}\t*"><b>([^<]+)<\/b><\/font> 投稿者:<b><a href="mailto:[^"]+">([^<]+)<\/a><\/b>$/i){ $title = $1;$writer = $2; }elsif($line =~ /^<font size="2"> 投稿日: *(.+) (<![^>]+>)*<\/font>$/i){ $date = $1; $sw = 1; } if($line =~ /^<blockquote>$/i && $sw == 1){ $dsw = 1; }elsif($line =~ /^<\/blockquote>$/i && $sw == 1){ $data{"$date\t$title\t$writer\t$getfile"} = $bbs_content . $line; $sw = 0;$dsw = 0;$bbs_content = ""; } if($dsw == 1){ $bbs_content .= $line, "\n"; } } print "<p><a href=\"$getfile\" target=\"main\">$bbs_title</a></p>\n"; dbmopen %TEACUPDB, "teacup", 0666 or die "<p>Can't open teacupdb: $!</p>\n</BODY>\n</HTML>\n"; print "<table border=0 width=\"90%\">\n"; $newsw = 0; foreach $key (sort keys(%data)){ @array = split(/\t/,$key); if($TEACUPDB{$key}){ if($alloutsw == 1){ print "<tr bgcolor=\"#eeeeee\"><td><font color=\"#000000\"><a href=\"/$teacupL1dir/$TEACUPDB{$key}\" target=\"main\">$array[0] $array[1]</a></font></td></tr>\n"; } }else{ $id = time + $newsw; $outfile = "teacup_${server}_${user}_${id}.html"; $TEACUPDB{$key} = $outfile; print "<tr bgcolor=\"#eeeeee\"><td><font color=\"#000000\"><a href=\"/$teacupL1dir/$outfile\" target=\"main\">$array[0] $array[1]</a></font></td></tr>\n"; open(OUT, ">$docroot/$teacupL1dir/$outfile"); print OUT "<HTML><BODY>\n"; print OUT "<h3><a href=\"$array[3]\">$bbs_title</a></h3>\n"; print OUT "<p>$array[0] $array[1] 投稿者: $array[2]</p>\n"; print OUT $data{$key}; print OUT "</BODY></HTML>\n"; close(OUT); $newsw++; } } dbmclose %TEACUPDB; print "</table>\n"; if($newsw == 0){ print "<p><font color=\"red\">未読はありません。</font></p>\n"; } print "</BODY>\n</HTML>\n";