It looks very neat indeed, but it loads over 1,000 lines of Perl code and an XS module in dependencies.. in a short(!) CGI script I wouldn't want that - but that's always a difficult environment. It's too much to type in a oneliner also, but that too is a special case.
For a large, "proper" script it is too brief - you run the risk of bombing out with a Can't call method "getcontents" on an undefined value since you don't check whether new() succeeded.. it would have to look maybe like this:
my $contents = do {
my $fh = IO::File->new($filename) or die "Failed to open $filename
+: $!";
$fh->getcontents();
}
And now it doesn't look so neat anymore. :-( Juerd's idiom on the other hand has builtin error reporting.
Makeshifts last the longest. |