http://qs321.pair.com?node_id=105295


in reply to (Golf) Untwist

Using ideas previously mentioned, and throwing in a few of my own, this can be brought down to 98 characters:

sub decipher { @l=(_,a..z,'.');@n{@l}=0..27;@c=@n{split//,pop};$"=my$i;$p[$_[0]*$i++% +@c]=$l[($_+$i)%28]for@c;"@p" }