【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.おやすみ
この記事に言及しているこのブログ内の記事
