Encode::decode_utf8 and references

[email protected] (Sam Tregar)
Newsgroups perl.unicode
Message-ID <[email protected]>
Hello all.  I'm maintaining a Perl app which relies on a possibly
incorrect behavior in Encode::decode_utf8 - references are expected to
pass through unmangled.  This worked fine until a recent upgrade.
Observe Encode v2.08 with Perl v5.6.1:

   $ perl -MEncode -MData::Dumper -e \
       'my $ref = Encode::decode_utf8({ foo => 1}); print Dumper($ref);'
   $VAR1 = {
             'foo' => 1
           };

However, Encode v2.18 with Perl v5.6.1 is not so forgiving:

   $ perl -MEncode -MData::Dumper -e \
       'my $ref = Encode::decode_utf8({ foo => 1}); print Dumper($ref);'
   $VAR1 = 'HASH(0x9932180)';

So, is this a bug in Encode or a bug in my app?  I'm leaning towards
the latter but I thought I'd check with you before I started trying
to fix it (no tests, argh!).  Aside from "don't do that", can you
suggest a fix?

Thanks,
-sam
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.