#!perl -l
sub
n{local($_)=@_;return if!s/.//;@_=split my$e=$&,pop;$m=length$_[0];s/.{$m}//;n($&,shift).n($_,pop).$e}print n@ARGV
|
#!perl -l
sub
n{local($_)=@_;return if!s/.//;@_=split$&,pop;my$e=$&;$m=length$_[0];s/.{$m}//;n($&,shift).n($_,pop).$e}print n@ARGV
|
#!perl -l
sub
n{local($_)=@_;return if!s/.//;@_=split$&,pop;$m=length$_[1];my$e=$&;my($n)=/(.{$m})$/;n($`,shift).n($n,pop).$e}print n@ARGV
|
A sort of quick-sort :)
#!perl -l
sub
n{local($_)=@_;return$_ if''eq$_;/./;pop=~/$&/;local($m,$n,$c,$d,$e)=(length$`,length$',$`,$',$&);n(/.(.{$m})/,$c).n(/(.{$n})$/,$d).$e}print n@ARGV
|