[xyzzy@gulik ~]$ export XYZZY='$,=qq.\n.;print q.\/\/____\/.,q./\ \ / / \\.,q. /_/__.,q..' [xyzzy@gulik ~]$ export TGNAT='$_=".-.-,,,,.-$/-.-++-+--+$/++++-,-,,+";y;+-/*$/; _/\\?;&print' [xyzzy@gulik ~]$ perl -e "$XYZZY" \/\/____\/ /\ \ / / \ /_/__ [xyzzy@gulik ~]$ perl -e "$TGNAT" \/\/____\/ /\/ / // /_/__ [xyzzy@gulik ~]$ perl -le'$a{$_}++ for split//,shift;print$_,": $a{$_}" for sort keys%a;($c+=$a{$_})?$s+=(/["\$&*+?_]/?2:1)*$a{$_}:0 for keys%a;print"chars:$c\nkeystrokes:$s"' "$XYZZY" : 9 $: 1 ,: 4 .: 10 /: 8 ;: 1 =: 1 \: 8 _: 7 i: 1 n: 2 p: 1 q: 6 r: 1 t: 1 chars:61 keystrokes:69 [xyzzy@gulik ~]$ perl -le'$a{$_}++ for split//,shift;print$_,": $a{$_}" for sort keys%a;($c+=$a{$_})?$s+=(/["\$&*+?_]/?2:1)*$a{$_}:0 for keys%a;print"chars:$c\nkeystrokes:$s"' "$TGNAT" : 1 ": 2 $: 4 &: 1 *: 1 +: 10 ,: 7 -: 11 .: 4 /: 5 ;: 4 =: 1 ?: 1 \: 2 _: 2 i: 1 n: 1 p: 1 r: 1 t: 1 y: 1 chars:62 keystrokes:83