use Data::Dumper; use Encode::Deep; no strict 'refs'; no warnings 'redefine'; local *Dumper = sub { print "in Dumper override\n"; return Data::Dumper::Dumper( Encode::Deep::encode('UTF-8',@_) ); }; use strict; use warnings; use utf8; print Dumper "Hiragana Letter A ..."; #### use strict; use warnings; { package MyDumper; use Any::Moose; use Encode::Deep; sub Dumper{ my $self=shift; return Data::Dumper::Dumper( Encode::Deep::encode('UTF-8',@_) ); } 1; } use utf8; my $d=MyDumper->new(); print $d->Dumper("Hiragana Letter A ...");