毎度お世話になります。
続けて、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/