Most programmers (including myself) have given up on the hope
that there's a magical way to get UTF-8 to "Just Work" without
any need to think about encoding issues.
In principle, I like setting up the encodings on each
filehandle myself. You do need to know how to do it (you may
need to deal with multiple encodings at once, after all), and
things like "utf8::all" feel a little too magical (though it
is lexically scoped)... but I find "utf8::all" to be
tremendously addictive-- a simple, easy to type invocation that
switches the defaults to where you almost always want them.