in reply to (Golf) Cryptographer's Tool #1
sub c { ($_,$a)=@_; map{$h{$_}?$h{$_}:do{$h{$_}=(split//,$a)[$i++]."\0"}}/./g }
Update:
Here's another at 66. This one takes a completely different approach--it removes all duplicates of letters(the long part), then does a simple translation on them (the easy part). Here it is:
sub c { ($_,$a)=@_;$b=$_; 1 while$b=~s/(.)(.*?)\1/$1$2/g; eval"y/$b/$a/"; $_ }
Update2:Good catch tilly. This makes it too long to contend, but here's the revised version:
sub c { ($_,$a)=@_;$b=$_; 1 while$b=~s/(.)(.*?)\1/$1$2/g; eval"y/\Q$b\E/\Q$a\E/"; $_ }
The 15 year old, freshman programmer,
Stephen Rawls
|
---|
Replies are listed 'Best First'. | |
---|---|
Re (tilly) 2: (Golf) Cryptographer's Tool #1
by tilly (Archbishop) on Jun 20, 2001 at 03:25 UTC | |
(Vynce) Re: (srawls:update 2) Re: (Golf) Cryptographer's Tool #1
by Vynce (Friar) on Jun 20, 2001 at 12:50 UTC |