揮発性のメモ2

http://d.hatena.ne.jp/iww/

Use of uninitialized value in なんとか

#!/usr/bin/perl

use strict; use warnings;

open( my $fh, 'hoge' ) or die 'ERROR:open:$!';
my $a = <$fh>;
print "$a\n";

このコードは、ファイルhogeが空っぽのときに7行目でwarningが出る。

Use of uninitialized value in concatenation (.) or string at ./hoge.pl line 7.

ファイルが空のときは undef がセットされるので、読めなかったら空文字列をセットするように。

my $a = <$fh> || '';

参考:Use of uninitialized value の傾向と対策 - bonar note