in reply to Code Review on Several Interesting Points
It often helps to know why an open fails, so printing $! helps. The error messages are usually verbose enough to render "can't open" redundant.
sub scanfile ($) { my $filename= shift; open my $handle, '<', $filename or croak "[$filename] $!"; return do { local $/; scan(<$handle>) }; }
|
|---|