【Perl】ファイルハンドル変数に STDIN や DATA をセット
2014-08-13-1
[Programming]
自分用メモ。Perlプログラミングについて。
ファイルハンドル変数に STDIN や DATA をセットできる。
■コード(test1.pl): STDIN をセット。
ファイル開くのと標準入力とで同じ処理に流せるのがありがたい。特に関数内で。
■実行結果:
■コード(test2.pl): DATA をセット。
■実行結果:
ファイルハンドル変数に STDIN や DATA をセットできる。
■コード(test1.pl): STDIN をセット。
#!/usr/bin/env perl use strict; use warnings; my $filename = shift @ARGV; my $fh = *STDIN; open($fh, "<", $filename) or die if defined $fn; while (<$fh>) { print; } close($fh);
ファイル開くのと標準入力とで同じ処理に流せるのがありがたい。特に関数内で。
■実行結果:
% cat a.txt 1.おはよう 2.行ってきます 3.ただいま 4.おやすみ % ./test1.pl a.txt 1.おはよう 2.行ってきます 3.ただいま 4.おやすみ % cat a.txt | ./test1.pl 1.おはよう 2.行ってきます 3.ただいま 4.おやすみ
■コード(test2.pl): DATA をセット。
#!/usr/bin/env perl use strict; use warnings; # while (<DATA>) { print } my $fh = *DATA; while (<$fh>) { print; } __DATA__ 1.おはよう 2.行ってきます 3.ただいま 4.おやすみ
■実行結果:
% ./test2.pl 1.おはよう 2.行ってきます 3.ただいま 4.おやすみ
この記事に言及しているこのブログ内の記事