¿Cómo manejar utf8 en la línea de comando (usando Perl o Python)?

¿Cómo puedo manejar utf8 usando Perl (o Python) en la línea de comando?

Estoy tratando de dividir los caracteres en cada palabra, por ejemplo. Esto es muy fácil para texto no utf8, por ejemplo:

$ echo "abc def" | perl -ne 'my @letters = m/(.)/g; print "@letters\n"' | less
a b c   d e f

Pero con utf8 no funciona, por supuesto:

$ echo "одобрение за" | perl -ne 'my @letters = m/(.)/g; print "@letters\n"' | less
<D0> <BE> <D0> <B4> <D0> <BE> <D0> <B1> <D1> <80> <D0> <B5> <D0> <BD> <D0> <B8> <D0> <B5>   <D0> <B7> <D0> <B0>

porque no sabe acerca de los caracteres de 2 bytes.

ambién sería bueno saber cómo se hace esto (es decir, el procesamiento de línea de comandos de utf8) en Python.