perlでテキストファイル内容を取得

どうも、この書き方が苦手だ。

$file = `cat hoge.txt`;

かなり多様されてはいるものの、やはりできるだけ使用言語によるコーディングを心がけたい。

しかし、確かに、open→while→closeと段階を踏んで記述するのも、面倒と言う気持ちも分かる。

というわけで、サブルーチンにファイルオープン処理を記述してやると、多少便利だと思った。

sub get_text_file
{
    open my $FILE_HANDLE , $_[0] || die("File Opne Error.");
    local $/;
    <$FILE_HANDLE>
}

これでだいぶ手間が省ける。

↓コーディング例

# cat test.pl
#!/usr/bin/perl

my $file = &get_text_file($ARGV[0]);
print $file;

sub get_text_file
{
    open my $HANDLE , $_[0] || die("File Opne Error.");
    local $/;
    <$HANDLE>
}

# cat hoge.txt
frpijfweroi
fdrfefwfewef
fuok

# ./test.pl hoge.txt
frpijfweroi
fdrfefwfewef
fuok