>perl -wMstrict -le "use constant S => 'iiMMMMMMMMMMoooooooooooooooooooooooMMMMMMMMMMiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiMMMMM MMMMMMMMooooooooooooooooooooo'; print q{'}, S, q{'}; ;; (my $rle = S) =~ s{ ((.) \2{0,254}) }{ chr(length $1) . $2 }xmsge; print qq{'$rle'}; ;; (my $s = $rle) =~ s{ (.) (.) }{ $2 x ord $1 }xmsge; print qq{'$s'}; ;; die 'encode/decocde failed' if $s ne S; print 'encode/decode ok!'; " 'iiMMMMMMMMMMoooooooooooooooooooooooMMMMMMMMMMiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiMMMMMMMMMMMMMooooooooooo oooooooooo' '?i M?o M§o' 'iiMMMMMMMMMMoooooooooooooooooooooooMMMMMMMMMMiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiMMMMMMMMMMMMMooooooooooo oooooooooo' encode/decode ok!