Perlゼミ

  1. Perl
  2. ファイル入出力
  3. here

標準入力 標準出力 標準エラー出力

標準入力、標準出力、標準エラー出力について書きます。

  1. 標準入力
  2. 標準出力
  3. 標準エラー出力

1.標準入力

標準入力の読込先はキーボードです。標準入力を利用すると、キーボードから入力を受け取っることができます。キーボードから受け取った文字をそのまま出力するプログラムを書くと次のようになります。 STDIN というファイルハンドルが標準入力を表します。

use strict;
use warnings;

# STDIN という標準入力を表すファイルハンドルから一行読み込み。
my $line = <STDIN>; 
print $line;
STDINから読み込むと、キーボードから読みこまれることがわかると思います。

2.標準出力

標準出力の出力先は、ディスプレイです。標準出力に書き込むとディスプレイに表示することができます。STDOUTというファイルハンドルが標準出力を表します。

use strict;
use warnings;

print STDOUT $line; 

明示的にSTDOUTを指定しなくても、print関数はデフォルトで、STDOUTに出力を行います。

3.標準エラー出力

標準エラー出力の出力先は、標準出力と同じでディスプレイです。標準エラー出力とはエラーをユーザに伝えるための機能です。STDERRというファイルハンドルが標準エラー出力を表します。以下のように書くと、ディスプレイに、"aaa" "bbb" と表示されます。

use strict;
use warnings;

print STDOUT "aaa\n";
print STDERR "bbb\n";

両方がディスプレに出力するなら標準エラー出力の役割は何でしょうか?それは、標準出力と標準エラー出力を分離することです。

OSには、リダイレクトという機能があり、標準出力の出力先をディスプレイからファイルに切り替えることができます。

このとき標準エラー出力は切り替わらず出力先はディスプレイのままです。エラーがファイルに書き出されてしまって、エラーがわからないという状況を防ぐために標準エラー出力があります。

以下のように標準出力をファイルにリダイレクトすると、標準エラー出力だけが、ディスプレイに表示されます。

perl スクリプト名 > ファイル
Perlの書籍
  • 初めてのPerl 第7版

    Perl入門 定番の一冊
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
  • 詳説 正規表現

    正規表現の詳細な解説
  • Perlの書籍販売 14冊 »
自己紹介
木本裕紀(きもとゆうき)

Twitter

フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎
Perlの求人広告募集中