I think you've found a perl bug, if PerlIO::encoding is missing, open with encoding will fail with no indication this is the problem.
You should submit a report :)
in reply to PAR will not play nice with opening encoding(utf8)
# you get no indication that the problem is that PerlIO/encoding.pm
# is missing, same when you rename PerlIO/encoding.pm
open my($in), '<:encoding(utf8)', __FILE__
or die int($!)," $!\n",int($^E)," $^E ";