sub interleave { my ($a, $b) = @_; return scalar("B" x $b) if $a < 1; return "A" . ("B" x $b) if $a < 2; my $groups = $a - 1; my $bchunk = int($b / $groups); my $big = $b % $groups; return ("A" . ("B" x $bchunk)) x ($groups - $big) . ("A" . ("B" x ($bchunk + 1))) x $big . "A"; }