in reply to use File::Slurp for (!"speed");

I use File::Slurp because then I can write read_file( ... ) instead of do { local @ARGV = ...; local $/; scalar <> ]. The former is easier to read. I also don't typically write my own read_file because when I do, it often comes out to about a dozen lines and I'd prefer to let modules handle plumbing tasks that would otherwise just be clutter. I also share ysth's inability to remember which of $/ and $\ controls the EOL for readline and the EOL for print.