in reply to
Howto print multiple matches in a line
open(FH, "$fn") || die("Can't open:$!");
I personally believe that, incidentally, you will be very likely to die since that will try to open a file whose name ends with a carriage return, and in turn that may well exist on your system (especially if it's some breed of *NIX) but... it's unprobable. Also, "$fn" is called "useless use of quoting variables." Last, didn't mom tell you to always run under strict, except maybe for the simplest one liners?