in reply to (GOLF) combine N arrays


Without looking at others solutions,

Here's the best i can come up with. It's got a hack or two, but it seems to test out correctly. *sigh*, i am learning from the TPR challenges that i am not very good at golf, but it's still fun :)

enjoy,
jynx

sub combinations { #58+58=116 #23456789_123456789_123456789_123456789_123456789_123456789_ my@a;$;=@{$_[0]}**@_;while($a=pop){$==0;for$a((@$a)x($;>>( $b=@$a**@_)||1)){push@{$a[$=++]},$a for+1..$b}}@a[0..$;-1] }
update: *sigh* back to the drawing board, the above version doesn't deal with multiple array lengths. The following does, but it's much longer...
sub attempt2 { #66+65=131 #23456789_123456789_123456789_123456789_123456789_123456789_123456789_ my%a;$-=(@_=sort{@$b<=>@$a}@_);$;=1;map$;*=@$_,@_;while($a=pop){$= =0;for$a((@$a)x($;/@$a)){push@{$a{$=++}},$a}}grep$-==@$_,values%a }