作者: 藤岡和夫
日時: 2005/9/05(22:42)
毎度お世話になります。

続けて、encoding関連で疑問が出てきましたのでご指導ください。

下記のような簡単なHTMLフォームから入力データを受け取って、表示するだけで
すが、パターンマッチングで条件分岐するというスクリプトです。

フォームで"藤岡"と入力してもパターンマッチがマッチしません。$in{'name'}
eq "藤岡"とすると意図どおりに条件分岐するのですが・・・

^-- hello_test.html
<HTML>
<BODY>
<FORM ACTION="/path/to/hello_test.cgi">
<P>お名前は?: <INPUT TYPE=TEXT NAME="name"></P>
<P><INPUT TYPE=SUBMIT></P>
</FORM>
</BODY>
</HTML>
$--

^-- hello_test.cgi
#!/usr/bin/perl
use encoding 'Shift_JIS';
require 'cgi-lib.pl';
&ReadParse(*in);

print <<"END_OF_HELLO";
Content-type: text/html

<HTML>
<BODY>
<CENTER><H1>
END_OF_HELLO

if($in{'name'} =~ /藤岡/){
	print "Yes! あなたを探していました。";
}else{
	print "No! あなたではありません。";
}

print "$in{'name'}さん。</H1></CENTER></BODY></HTML>\n";
$--

藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/