in reply to Re: Wide character at C:\perl-lib-ctp/Fmsc.pm line 27, <INFILE> line 1.
in thread Wide character at C:\perl-lib-ctp/Fmsc.pm line 27, <INFILE> line 1.

Precedence problem there too; you need or instead of ||, or you need to parenthesize open's arguments. As is that's checking if $infilename is true (calling die if not), and then calling open and ignoring the return from it.

open( FH, MODE, FILE ) || die ERROR; open FH, MODE, FILE or die ERROR;

The cake is a lie.
The cake is a lie.
The cake is a lie.