[上に] [前に] [次に] B-Cus 1998/01/12(月) 18:22:08 perlで実行した標準エラー出力を処理する方法を教えてください。 また、標準エラー出力のみを受け取る方法を教えてください。 例えば exist-file が存在して、non-exist-fileが存在しないとき、 open(IN,"ls exist-file non-exist-file|); print <IN>; とすると出力は 「exist-file」 のみになってしまいます。 標準エラー出力に出力されている 「non-exist-file: No such file or directory」を受け取る にはどうすればいいでしょうか。 また、標準出力は捨て、標準エラー出力のみを受け取る方法 # 「non-exist-file: No such file or directory」だけを受け取る方
chdirのときもエラー処理は必須ですな〜自分で使うスクリプトだからええ加減な書き方してた〜反省 #ubuntu #perl http://twitter.com/mukumaru/status/20694618336 perl5.10.1 以後では autodie.pm が標準添付されているので、それを利用するとよい。 % perl -E 'use autodie; chdir "/foo"' Can't chdir('/foo'): No such file or directory at -e line 1こんなかんじ。use strict; use warnings; につづけて use autodie; と書くだけ。 使い捨てスクリプトでは use autodie; しておくと、いちいち組み込み関数のエラー処理かかなくていいので便利。
ファイルをオープンしようとしたときに、何らかの理由によってエラーが発生する場合があります。ここでは Perl のプログラムからファイルに失敗したときにプログラムを終了する手順について解説します。 ファイルオープン時のエラー処理 open 関数を使ってファイルを開こうとして失敗した場合、プログラムの実行を終了するには die 関数を使ってプログラムを終了させる方法がよく使われます。 die 関数を実行すると、関数の引数に指定した値を標準エラー出力に出力し、実行している Perl のプログラムが終了します。 die 関数の詳しい使い方は「die関数:エラーメッセージを出力しPerlスクリプトを終了する」を参照して下さい)。 open 関数は失敗すると未定義値(undef)を返しますので次のように if 文を使って記述することができます。
2017-04-16 FreeBSD/mpd 2016-12-23 RecentDeleted Blogアプリ 日記 2016-11-17 本当にあった怖いコード/1 2016-05-16 .NET 2015-07-06 書きたいこと 2015-07-05 postgres Java/変数の初期化に安易に空オブジェクトを代入しない 2015-06-30 PukiWiki/1.4/マニュアル/プラグイン/u 本当にあった怖いコード/15 2014-10-01 日記/2014-10-01 2014-09-09 日記/2014-09-09 2014-08-13 日記/2014-08-10 2014-05-28 バグパターン/日時 バグパターン 2014-04-13 IPv6 2014-03-20 パスワード問題 2014-01-27 DNS/ルートサーバーは13台という神話 2014-01-25
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く