moreオプション

[上に] [前に] [次に]
偏西風 2000/06/04(日) 09:51:53
Win98-2 のDOS画面からPerlを実行する時、
一画面づつ表示させたいのですが、どうしてもmoreオプションが利きません。
しかたなしに、論理的な区切りに__END__を入れて、こまぎれにチエック
しています。
Perlを実行する時、OSがUNIXでないと、moreオプションは利かないのでしょうか?
よろしくお願いします。

Fuji.♪ [E-Mail] [HomePage] 2000/06/04(日) 17:03:55
moreはコマンドだから、そもそもパスが通っている場所にないと実行できませんが、標準ではあるはずです。
とりあえず、 perl hoge.pl | more で試してみてください。

偏西風 2000/06/05(月) 09:30:04
Fuji.♪さん、ありがとうございます。
perl hoge.pl|more(一般形)は、いろいろなことをして
50回くらいは試行錯誤しました。
気が付いたのですが、hoge.plにエラーが無い時は、
「|more」が利きます。
わざと、文字列の「"」などを外してエラーを出すと、
一瞬にしてエラーメッセージが流れてしまいます。
一つのエラーが連鎖して、多くのエラーメッセージを表示します。
画面が流れてしまうため、最初のエラーを見つけることができません。
数ある質問の中にこのような質問が無いと云うことは、私のパソコンの
問題かも知れません。
ありがとうございました。

ThikPad 380XD
Win98-2
perl for Win32  5.003_07 です。

Fuji.♪ [E-Mail] [HomePage] 2000/06/05(月) 09:53:59
そもそもエラー時はstdoutではなくstderrに出ていますからmoreは効かないだけではないでしょうか?
私は出力結果だと思っていたのですが・・・。

標準のコマンドプロンプトではエラーをリダイレクト出来ない様ですが、Win32版tcshとかを入れて、 % perl -wc hoge.pl >& err.txt などとすれば拾えますよ。
Win32版tcshの所在はどこか忘れてしまいましたが (^^; 検索すればすぐに見つかると思います。
バイナリ、ソース共あったはずです。

偏西風 [HomePage] 2000/06/05(月) 10:17:08
[[解決]]
普段、ほとんど意識しない、stdout,stderrが関係しているとは......。
まったく気が付きませんでした。
ありがとうございました。
Win32版tcsh、これも初めて聞きます。
ここまで教えていただけば、未だ解決はしていませんが、「解決マーク」を
付けさせていただきます。(礼!)

[上に] [前に] [次に]