#!/usr/bin/perl use LWP::Simple; $base='http://igo.main.jp/cgi-bin/LeafShow2/MyLeaf'; my %FORM = form_decode(); $url = $FORM{"url"}; $char = (index($url, 'http://weiqi.sports.tom.com/') < 0 && index($url, 'http://www.flygo.net/') < 0) ? 'Shift_JIS' : 'GB2312'; $data = LWP::Simple::get($url); check_data(); print "Content-type: text/html\n\n"; print_header($char); print_applet($data); print qq||; exit; sub check_data { my $sp = '/) { $url ="http://weiqi.sports.tom.com/qipu/$1"; $data = LWP::Simple::get($url); } $data =~ s/'/"/g; } sub form_decode { my $buf; if($ENV{'REQUEST_METHOD'} eq 'POST') { read STDIN, $buf, $ENV{'CONTENT_LENGTH'}; } else { $buf = $ENV{'QUERY_STRING'}; } return decode($buf); } sub decode { my $buf = $_[0]; my %TMP; foreach (split /&/, $buf) { #my ($key, $val) = split /=/; $pos = index($_, '='); if($pos > 0) { $key = substr($_, 0, $pos); $val = substr($_, $pos + 1); $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; if(defined $TMP{$key}){ $TMP{$key} .= ",$val"; } else { $TMP{$key} = $val; } } } return %TMP; } sub print_header { print " NetKifu - StoneLeaf2"; print ""; print ""; } sub print_applet { print "
"; my $nn = $url; my $hh = 'http://weiqi.sports.tom.com/qipu/'; $nn =~ s/$hh//; $nn =~ s/\//-/; print "

FileName:$nn

"; }