use Fatal(2)
システムコールの戻り値はチェックしなきゃならんのだけど、面倒だからFatalを使う。
use Fatal qw/open close/;
use Fatalを使うと、失敗したときにundefが返る代わりにdieするようになるので、全体をevalで括ってしまえば個々のチェックが不要になるので便利です。
でもこれはPerl::Critic 1.051の-severity=1では通らないので、今のところ使っていません。
use Fatal qw(open close); open my $fh, q{<}, undef; close $fh;
% perlcritic -1 -verbose 9 fatal.pl [InputOutput::RequireCheckedOpen] Return value of "open" ignored at line 11, near 'open my $fh, q{<}, undef;'. (Severity: 3) [InputOutput::RequireCheckedClose] Return value of "close" ignored at line 12, near 'close $fh;'. (Severity: 2)
Perl::Criticにこだわるのにはそれなりの理由があります。それについてはまた今度。