-PR-
解決済み

perl 出力について

  • 暇なときにでも
  • 質問No.46227
  • 閲覧数124
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 75% (3/4)

Win98SEのDOS窓で、たとえば perl -w a.cgi
というふうにするとエラーなどがDOS窓に出力されると思いますが、それがたくさんあるとスクロールして上のほうが見れないんですがどうすれば見れるのでしょうか?
>a.txt などと付け加えると処理結果(?)はファイルに出力されるのですが、エラーのメッセージなどはファイルに出力されません、DOS窓に表示されたままです。
よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 57% (232/402)

エラーについては、標準出力(STDOUT)ではなく標準エラー出力(STDERR)に出力されてしまうので、DOS/Windows系の場合はコマンドラインから変更するのは難しいでしょう。
どうしてもファイル等に保存するのであれば、プログラム中でSTDERRの出力先をopenコマンドなどで変更してしまう(「open( STDERR, "> error.txt" );」のような形)しかないんじゃないでしょうか。試したことがないのでできるかどうかもわかりませんが。

むしろそれよりは、Perlのデバッグモードを使った方がいいんじゃないですか?
「perl -d a.cgi」というような形で起動できますし。コマンドの使い方はプロンプトで「h」で出力できます。
お礼コメント
solee

お礼率 75% (3/4)

ご返答どうもありがとうございます。
上記のように「open( STDERR, "> error.txt" );」をスクリプトの2行目に入れてみました。結果はちゃんとファイルに出力されたのですが、-w をつけたとき、DOS窓では変数が一回しか使われていないときのエラーが表示されるのに対し、STDERRでファイルに出力した方ではそれが書かれていませんでした。定義していない変数の警告はどちらの方法でも出力されていました。
使い方等よくわかっていないのですが、これから試してみようと思います。
デバックモード・・・これもDOS窓だとスクロールして上の方が見えないような・・・といいますか、手軽にエラーを見るのが目的だったんです。ということで、ちょっとパス(汗)。ありがとうございます、いろいろ参考になりました。
投稿日時 - 2001-03-02 01:08:37
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 65% (242/372)

perl -w a.cgi > err.txt とすれば、画面の代わりにerr.txtに結果が書き込まれます 画面で確認したいのであれば perl -w a.cgi | more で一画面ごとに表示が止まり、何かキーを押すと 次の画面に移ります。 こんなところでしょうか? 参考まで ...続きを読む
perl -w a.cgi > err.txt
とすれば、画面の代わりにerr.txtに結果が書き込まれます

画面で確認したいのであれば
perl -w a.cgi | more

で一画面ごとに表示が止まり、何かキーを押すと
次の画面に移ります。

こんなところでしょうか?
参考まで
お礼コメント
solee

お礼率 75% (3/4)

ご返答どうもありがとうございます。
moreを使うと一画面ごとに表示がとまりました。
しかし、エラー表示のときだけ2~3秒でページが自動的に切り替わってしまうんです。これは何かの陰謀なんでしょうか。
投稿日時 - 2001-03-02 01:12:48


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ