if (!$d->[$x][$y][0] && !$d->[$x][$y][1] && !$d->[$x][$y][2]) { for (my $u=$x; $u>0; $u--) { unshift @ra, $sa[$u-1]; } for (my $v=$y; $v>0; $v--) { unshift @rb, $sb[$v-1]; } while (scalar(@ra) while (scalar(@rb) while (scalar(@rc) # print out the answer $i++; # global variable $scr = 0; # score for each alignment print "
Alignment: $i
Sa:"; foreach my $x (@ra) { print " $x"; } print "
Sb:"; foreach my $y (@rb) { print " $y"; } print "
Scr"; foreach my $z (@rc) { if ($z eq '.') { print " ."; } else { printf '%4d', $z; $scr += $z; } } print " = $scr
"; }