I'll definitly win the 'ugly one' contest with this one...
Its only advantage : it leaves the arrays passed as arguments
untouched, (I feel that someone could make it smaller too)
The most bothering thing for me (apart from the nasty $i handling)is the stop test :
last unless (join'',@n)
Too long, and to weird, anyone to help me improve this ?
sub Mix2 {
my (@r,@n);
my $i=-1;
while($i++>-2){
@n=map{$_->[$i]}@_;
@r=(@r,@n);
last unless (join'',@n)
}
@r;
}
UPDATE :
To save
one char and make it even uglier,
You can whange
while($i++>-2) to
while($i+++2)
(and
my $i=-1; to
my $i--; for another
one)
"
Only
Bad
Coders
Badly
Code
In
Perl" (OBC2IP)