:1 y/0123456789/!012345678/ s/\w/&-/g t1 : s/-\{37\}/=/ s/-\(!=*\)/\1----------/ t s/\W*/&Azyxwvutsrqponmlkjihgfedcba9876543210 / s/[^!=]\{36\}\(.\).* /\1/ y/=/-/ /-/b s/!*//
Note that non-ascii characters in the above source code will be escaped (such as \x9f).