[[Perl]]

***2進数を利用して、年齢当てをするスクリプト [#qf0136b6]
-ある居酒屋の年齢当て 
--http://nlp.kimura-s.otaru-uc.ac.jp/InformationProcessing/HowOldAreYou.cgi
	#!/usr/bin/perl
	use CGI;
	my $charset="utf-8";
	my $title="小樽商科大学";
	my $myself = './HowOldAreYou.cgi';#<------------------修正
	my $q = new CGI;
	print $q->header(-charset=>$charset);
	print $q->start_html(-title=>$title, -encoding=>$charset);
	
	#print $q->h1('あなたのイメージした数字を当てます。');
	print $q->h2('ある居酒屋で・・・');
	print $q->h2('ある居酒屋で・・・');
	print $q->h3("<a href=\"$myself\">最初から始める。</a><br>");
	
	#入力単語
	#質問数
	$Bit = "";
	for($i=1;$i<=6;$i++){
	        $Qnum = "Q" . $i;
	        if($q->param($Qnum)){
	                $value = $q->param($Qnum);
	                print "Q$i $value<br>\n";
	                $Bit .= $value;
	                $Hidden .=  qq|<input type="hidden" name="Q$i" value="$value">\n|;
	        }
	        else{
	                $num = $i;
	                last;
	        }
	}
	#
	if($q->param("Q6")){
	        $Bit =~ s/ある/1/g;
	        $Bit =~ s/ない/0/g;
	        $Bit = reverse $Bit;
	        my $dec = oct "0b" . $Bit;
	        print "<br>あなたのイメージした数字は<font color=red>" .  $dec, "</font>です。<br>"; # 1000
	
	
	}
	else{
	        #数字
	        $Qnum = "Q" . $num;
	        print $q->start_form(-method => 'POST', -action => $myself);
	        print $Hidden;
	        print qq|イメージした数字はありますか?<br>\n|;
	        print qq|<img src="page$num.png"><br>\n|;
	        print qq|<input type="radio" name="$Qnum" value="ある">ある|;
	        print qq|<input type="radio" name="$Qnum" value="ない">ない<br>|;
	        print qq|<input type="submit" value="送信">|;
	        #print qq|<input type="reset" value="リセット">|;
	        print $q->end_form();
	}
	print $q->end_html();