The given output was from perl v5.10.0, from Debian stable. I see the flaw in print_chrcode, and have added 'use bytes' to get it to display the true internal format (matching Devel::Peek).
Using "export PERL_UNICODE=SAD" or "export PERL_UNICODE=IE" switches the behavior of the script.