Perl はスクリプトの内容やその他の内容を画面に出力します。

Perl はスクリプトの内容やその他の内容を画面に出力します。

Perlスクリプトを使用して特定の出力を画面や他の選択した出力にパイプするにはどうすればよいですか?

ベストアンサー1

別のファイルハンドルを使用してください。

STDOUTデフォルトでは、とがありますSTDERR。 Perlの関数はprint実際にprint STDOUT

端末にはSTDOUTファイルハンドルが提供され、1ファイルSTDERRハンドルが提供されます2

以下は、各ファイルハンドルに印刷し、各ファイルハンドルを/ dev / nullにリダイレクトする例です。

$ perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";'
foo
bar
$ perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";' 1> /dev/null
bar
% perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";' 2> /dev/null
foo
  • 最初のコマンドは両方とも印刷します。
  • 2番目のコマンドは削除しSTDOUTて印刷するだけです。STDERR
  • 3番目のコマンドは削除しSTDERRて印刷するだけです。STDOUT

独自のファイルハンドル(ログファイルなど)を宣言し、そのファイルハンドルとして印刷することもできます。望むよりperldoc -f open

おすすめ記事