#!/usr/bin/perl use CGI; use strict; my $charset="utf-8"; my $title="小樽商科大学"; my $myself = './***.cgi';#<---------修正 my $q = new CGI; print $q->header(-charset=>$charset); print $q->start_html(-title=>$title, -encoding=>$charset);
#時間 my @time = localtime(time); $time[4]++; $time[5] += 1900;
#foreach(@time){ print "$_/";} print "<br>$time[5]月$time[4]月$time[3]日$time[2]時$time[1]分$time[0]秒<br>\n"; print "$ENV{'REMOTE_ADDR'}<br>\n";
#入力単語 print "入力:" . $q->param('user') . "<br>\n"; if($q->param('user')){
&Log($q->param('user')); &Search($q->param('user'));
}
print $q->start_form(-method => 'POST', -action => $myself); print qq|<input type="text" size="30" name="user" value="廃止">\n|;
#オプション追加 7桁 9桁 11桁
print qq|<input type="submit" name="submit" value="送信">\n|; print $q->end_form(); print $q->end_html();
sub Log(){
my $word = $_[0]; #LOG open(OUT,">>***");#<--------------修正 print OUT "$time[5]月$time[4]月$time[3]日$time[2]時$time[1]分$time[0]秒\t$ENV{'REMOTE_ADDR'}\t$word\n"; close(OUT);
}
sub Search() {
my $word = $_[0]; my %B07; my %B09; my %B11; my $file = "***";#<--------------修正 open(IN,$file); my @B = <IN>; close(IN); #単語検索 11桁の識別番号取得 foreach(@B){ my @tmp = split(/,/,$_);#004994,04746,A,体,関係,作用,走り・飛び・流れなど,1.1522,05,06,01,暴走,暴走,ぼうそう,うそうぼ #if($tmp[12] =~ /$word/){#「廃止」を入力した場合、「廃止する」も表示される。 if($tmp[12] eq $word){ print "$tmp[3] $tmp[4] $tmp[5] - $tmp[12] - $tmp[13] <br>\n"; $B07{"$tmp[7]$tmp[8]"}++; $B09{"$tmp[7]$tmp[8]$tmp[9]"}++; $B11{"$tmp[7]$tmp[8]$tmp[9]$tmp[10]"}++; } } #途中経過 print $q->h3("途中経過"); my @B07 = keys %B07; my @B09 = keys %B09; my @B11 = keys %B11; print $q->h4("07桁"); print "<ol>\n"; foreach(@B07){ print "<li>$_($B07{$_})</li>\n";} print "</ol>\n"; print $q->h4("09桁"); print "<ol>\n"; foreach(@B09){ print "<li>$_($B09{$_})</li>\n";} print "</ol>\n"; print $q->h4("11桁"); print "<ol>\n"; foreach(@B11){ print "<li>$_($B11{$_})</li>\n";} print "</ol>\n";
#識別番号を利用して、類似検索 #print $q->h3("途中経過"); my %B07list; my %B09list; my %B11list; foreach(@B){ my @tmp = split(/,/,$_);#004994,04746,A,体,関係,作用,走り・飛び・流れなど,1.1522,05,06,01,暴走,暴走,ぼうそう,うそうぼ my $tmpB07 = "$tmp[7]$tmp[8]"; my $tmpB09 = "$tmp[7]$tmp[8]$tmp[9]"; my $tmpB11 = "$tmp[7]$tmp[8]$tmp[9]$tmp[10]"; if($B07{$tmpB07}){$B07list{$tmp[12]}++;} if($B09{$tmpB09}){$B09list{$tmp[12]}++;} if($B11{$tmpB11}){$B11list{$tmp[12]}++;} } #拡張結果 print $q->h3("拡張結果"); my @B07list = keys %B07list; my @B09list = keys %B09list; my @B11list = keys %B11list; print $q->h4("11桁(拡張なし)"); print "<ol>\n"; foreach(@B11list){ print "<li>$_($B11list{$_})</li>\n";} print "</ol>\n"; print $q->h4("09桁(拡張 少)"); print "<ol>\n"; foreach(@B09list){ print "<li>$_($B09list{$_})</li>\n";} print "</ol>\n"; print $q->h4("07桁(拡張 多)"); print "<ol>\n"; foreach(@B07list){ print "<li>$_($B07list{$_})</li>\n";} print "</ol>\n";
}