作者: INABA HITOSHI
日時: 2010/2/21(13:53)
こんにちは
 
Sjis.pm を使うとCGIスクリプト実行時にコマンドプロンプトが立ち
上がってしまう件、
 
藤岡さんwrote:
>> # perl510.bat version 1.0.5 であれば「実行しているのは
>> # C:\Perl\bin\perl.exe」
>> # と表示しない(=不親切になった)と思うので。
>
>  おっしゃる意味がよくわかりませんが、コマンドプロンプトにはカーソルが点
> 滅しているだけです。コマンドプロンプトで何が実行されているか、動作してい
> るかは、Top Barに表示されているものを指しています。

画面に表示されているのかと勘違いして、見当違いなことを書いて
しまいました。すみません。
 
原因から perl510.bat も Esjis.pm も排除されたので、Sjis.pm
そのもの、ということですね?
 
だとすると Sjis.pm の440行目あたりの
 
 exit system map {m/ $your_gap [ ] /oxms ? qq{"$_"} : $_}
  $^X, "$filename.e", @ARGV;

の system がコマンドプロンプトを立ち上げているように思えます。
 
ここは Sjis.pm の実行の最後の部分で、エスケープ処理を施した
ファイルを Perl スクリプトとして実行する部分です。
 
この exit system を exec にしたいところですが、私の環境だと
テストにパスしないので exit system にしてあります。
exit system と書く必然性はあるが、コマンドプロンプトが立ち上
がる必然性はないという...何だか苦しくなってきたぞ^^;
 
"$filename.e" に @ARGV を渡して実行できれば他の書き方でも
よいのですが。
 
# 対処療法と同時に根本的にもなおせると嬉しいです。
 
稲葉 準
  		 	   		  
_________________________________________________________________
今年こそ節約しよう!まずはネット代から。
http://campaign.live.jp/eaccess/Top/