作者: INABA HITOSHI
日時: 2010/2/20(23:54)
こんばんは

>> perl Sjis.pm CGI_script.cgi> Escaped_CGI_script.cgi
>>
>> として、Apache で実行するのは Escaped_CGI_script.cgi にする、という
>> 解決策はどうでしょうか?
>
> ということで、試してみました。
>
> -----
> use Esjis 0.44;
> use re 'eval';
>
> print "Content-type: text/html; charset=SHIFT_JIS\n\n";
> print "\n\n";
> print "惑星ソ\ラリスに今日、十\月十\日に着陸した。ハローワールド!\n";
> print "\n\n";
> -----
 
このエスケープ後のスクリプトには Esjis.pm で提供している関数、例えば
Esjis::length などを一切使っていないので1行目の "use Esjis;" は
コメントにしても動作は同じはずです。
 
そこで...
-----
# use Esjis 0.44;
use re 'eval';

print "Content-type: text/html; charset=SHIFT_JIS\n\n";
print "\n\n";
print "惑星ソ\ラリスに今日、十\月十\日に着陸した。ハローワールド!\n";
print "\n\n";
-----
としてみるとどうなるでしょうか?
 
それでもだめで、
-----
# use Esjis 0.44;
# use re 'eval';
 
print "Content-type: text/html; charset=SHIFT_JIS\n\n";
print "\n\n";
print "惑星ソ\ラリスに今日、十\月十\日に着陸した。ハローワールド!\n";
print "\n\n";
-----
これだとエラーにならないのであれば...
 
@nifty の perl で "use re 'eval';" が使えないってことになりますね。
 
稲葉 準
  		 	   		  
_________________________________________________________________
【節約!】インターネット代を見直そう!
http://campaign.live.jp/eaccess/Top/