sub scanfile { croak "Usage: scanfile(\$filename)" unless 1 == @ARGV; my $data= do { my $filename= shift; require 5.6; # Autovivification of file handle: open my $handle, '<', $filename or croak "Can't read file [$filename], $!"; local $/; <$handle>; }; return scan( $data ); }