古い記事
ランダムジャンプ
新しい記事
自分用メモ。Perlプログラミングについて。
ファイルハンドル変数に 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.おやすみ
この記事に言及しているこのブログ内の記事