The third solution isn't as portable, though.
is probably available on more platforms than perl
is. Of course, Windows rules the world, and both cat
are ported to Windows -- and, AFAIK, neither comes standard with the OS. Unlike cat
included in the POSIX standard for shell utilities.
Why do you think redefining $/ as I did is a potential problem?
Well, you consider someone modifying the code to be a potential problem. Would if someone modifies your code, and adds a return after the first assignment to $/, but before the second? Would if someone wraps the code in an eval, and the read triggers an exception?