note
tachyon
It's a real pity about that 69 char line wrap, 80 cols would be nice<br>
It looks great without all those MMM blank lines, so I trimmed it for display
<br>5 minutes with an editor or 20 seconds with perl, I choose perl<br> <br>
tachyon
<code>
#!/usr/bin/perl -w
$_= q`
#!/usr/bin/perl -w
$_= q`
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MM''MMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM M' MMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM''' "IMMMMMMMMMMMMMMMMMMMMMMM M MM"'
MMM'"M' MMMMMMMMMMMMMMMV' ""MMMMMMMMMM. 'MM M M' .
M'M :M ;MV MMMMMMMMMM' "MMMMMMMMMM. ": M .l .M
; M M :M' AMMMMMMV' "MMMMMMMMM. .'''. fMM
M t t M: MMMMMM' 'MMMMMMM' MMM
M. t . M AMMMMV 'MMMM"" ' '. .MMM
MM . MMMMMV '. .. ; .MMMM
M '"S" MMV *** *** MMMMMM.' MMMMM
M. ; ' 'MMMMMM. MMMMM
MM..'. .MM' MMMMMMM VMMM
MMM AMMMMMV * 'MMMMMM. MMM
MM' MMMMMM: * .. MMMMMMM MM
MM MMMMMM: g@. ** .' @g : 'MMMM. M
M' MMM''': :@: '. .' ..@@e : .
N '' : '@@@@: '. .' .@@@@@ ........./MMMM
: e@@@@. .' . .' A. .@@@@@' MMMMMMMMMMMMMM
:..........: '@@@@@@@. ! '. - - - . '. .@@@@@@@@ MMMMMMMMMMMMMM
MMMMMMMMMMMM '@@@@@@@@@@@@. H .@@@@@@@@@@@@' MMMMMMMMMMMMMM
MMMMMMMMMMMMM '@@@@@@@@@@@@@...@@'..@@@@@@@@@@@@' AMMMMMMMMMMMMMM
MMMMMMMMMMMMMA '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .MMMMMMMMMMMMMMM
MMMMMMMMMMMMMMA @@@@@@@@@@@@"'O'OOOO'@@@@@@@' .MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMA '@@@@@@@VOOOOOOO.OOO @@@V AMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMA '@@@@OOOOOOOOO.OOO@' .KMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMA '.DD.OOOOO.OO .AMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMA. OOOOO OOOO .MMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMA.. OOOOOOOOOOOMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOOOOOOOOOO.MMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM OOOOOOR.MMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM---MMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
`;
# dissection
s#[M*\@V!"'.:;/\-\s]##g; # $_=~s[[M*\@V!"'.:;/\-\s]]]]g;
tr/A-Z/a-z/; # $_=lc $_;
@_ = sort split //, $_; # @_= sort (map $_{$_} = 1,(split''));
for (@_) {$_{$_} = 1} # takes two lines!
@]= sort keys %_; # @]=qw(a d e f g h i k l n o r s t);
# now we just grab chars out of @] via the syntax $][$index]
# interstingly $#] is a syntax error so you actually need to
#call @] in scalar context to get the array length, in short:
@index = qw(12 10 14 8 10 9 4 14 0 9 1 14 13 5 0 9 7 12 14 3 10 11 14 0 8 8 14 13 5 2 14 3 6 12 5 15);
push @], (' ', "!\n");
print $][$_] for @index;
pop @];pop @];
# long form
print $][@]-2].$][@]-4].' '.$][@]-6].$][@]-4].$][@]-5].$][@]-10].' '.$][@]-14].$][@]-5].$][@]-13].' '.$][@]-1]. $][@]-9] . $][@]-14] . $][@]-5] . $][@]-7] . $][@]-2].' '.$][@]-11].$][@]-4].$][@]-3].' '.$][@]-14].$][@]-6].$][@]-6].' '.$][@]-1].$][@]-9].$][@]-12].' '.$][@]-11].$][@]-8].$][@]-2].$][@]-9]."!\n";
</code>
80466
80466