This one embeds one of my previous JAPH's as a preprocessor. But the drive train is powered by an over-zealous closure pump.

sub _{map{my$o=substr$_[0],$_,1;sub{print$o}}0..$#{[split//,$_[0]]}}$ _="a2kvrlpntieoscatek eafhshjubrp mewlq rrxjacungohtd!";;($x,$_)=/(\D \S)([^Z]+)/x;$v=join"",(map{$_->[0]}sort{$a->[1]cmp$b->[1]}map{[split //]}unpack$x x ord chop,$_),$/;$_->()for _$v

Enjoy!


Dave


"If I had my life to live over again, I'd be a plumber." -- Albert Einstein