Как обрабатывать utf8 в командной строке (используя Perl или Python)?

Как я могу обработать utf8, используя Perl (или Python) в командной строке?

Например, я пытаюсь разделить символы в каждом слове. Это очень просто для текста не-utf8, например:

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

Но с utf8 это не работает, конечно:

$ 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>

потому что он не знает о 2-байтовых символах.

Также было бы полезно узнать, как это делается (то есть обработка utf8 в командной строке) в Python.