アプリ版:「スタンプのみでお礼する」機能のリリースについて

perlのスクリプトをダブルクリックするとコマンドプロンプトがでてきて、どんなスクリプトでもそのスクリプトの結果表示の直前に自動的にwindowが閉じてしまいます。

いつもはコマンドプロンプトを開いてドラッグして起動しているのですが、直接スクリプトを開く方法はないのでしょうか??

回答よろしくお願いします。

A 回答 (4件)

フィルタとして使うことの多い私からすれば、STDINで入力待ちというのは、あんまりやりたくない方法ですね。



・コマンドプロンプトのpauseコマンドをPerlのsystem関数で呼び出す
END {
system('cmd /c pause');
}

・ダブルクリックでの使用が望みなら、結果もウィンドウに表示する。
Perl/Tk等を使って、テキストボックスに表示、「OK」ボタンで終了

・結果は「画面」ではなくファイルに出力するように変更。実行後にファイルをエディタ等で確認。
    • good
    • 0

具体的な方法は他の方が書いてますが、



>結果表示の直前に自動的にwindowが閉じてしまいます。

は、勘違いで、結果表示の直後に閉じています。

Windowsの仕組みとして、プログラムが終了するとウィンドウが閉じます。従って、ウィンドウを開いたままにしたければ、プログラムを終了させなければよい。その方法を1,2の方が書いています。
    • good
    • 0

1.コマンドプロントにファイル名を入れて実行する方法。


コマンドプロントを起動する。
C:\> perl ファイル名
と入れて実行する。

2.STDINで受け取る方法。
sub END {
$Blank = <STDIN>;
}
を好きなところに入れる。
[Enter]で次の処理に=プロセス終了

3.無限ループさせる(推奨されない)
sub END{
while(1){}
}

4.スリープさせて、時間が経ったら終了。
sub END{
sleep 300;#実行後5分後に終了。
}
    • good
    • 0

実行の一番最後に、標準入力の行を入れておいたらどうですか?


<STDIN>
#やったことはないですが、止まると思います。
#その後、Enter押せばスクリプトが終わりますし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!