• ベストアンサー

perl起動方法

perlのスクリプトをダブルクリックするとコマンドプロンプトがでてきて、どんなスクリプトでもそのスクリプトの結果表示の直前に自動的にwindowが閉じてしまいます。 いつもはコマンドプロンプトを開いてドラッグして起動しているのですが、直接スクリプトを開く方法はないのでしょうか?? 回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

フィルタとして使うことの多い私からすれば、STDINで入力待ちというのは、あんまりやりたくない方法ですね。 ・コマンドプロンプトのpauseコマンドをPerlのsystem関数で呼び出す END { system('cmd /c pause'); } ・ダブルクリックでの使用が望みなら、結果もウィンドウに表示する。 Perl/Tk等を使って、テキストボックスに表示、「OK」ボタンで終了 ・結果は「画面」ではなくファイルに出力するように変更。実行後にファイルをエディタ等で確認。

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

具体的な方法は他の方が書いてますが、 >結果表示の直前に自動的にwindowが閉じてしまいます。 は、勘違いで、結果表示の直後に閉じています。 Windowsの仕組みとして、プログラムが終了するとウィンドウが閉じます。従って、ウィンドウを開いたままにしたければ、プログラムを終了させなければよい。その方法を1,2の方が書いています。

  • taporu
  • ベストアンサー率44% (46/104)
回答No.2

1.コマンドプロントにファイル名を入れて実行する方法。 コマンドプロントを起動する。 C:\> perl ファイル名 と入れて実行する。 2.STDINで受け取る方法。 sub END { $Blank = <STDIN>; } を好きなところに入れる。 [Enter]で次の処理に=プロセス終了 3.無限ループさせる(推奨されない) sub END{ while(1){} } 4.スリープさせて、時間が経ったら終了。 sub END{ sleep 300;#実行後5分後に終了。 }

  • diszo
  • ベストアンサー率78% (32/41)
回答No.1

実行の一番最後に、標準入力の行を入れておいたらどうですか? <STDIN> #やったことはないですが、止まると思います。 #その後、Enter押せばスクリプトが終わりますし。

関連するQ&A