use strict; use warnings; #generate all posibilites of a DNA sequence my @Bases = qw(A C G T); my $SequenceMinLength = 1; my $SequenceMaxLength = 3; print 'Number of Sequence lengths to permute is ', $SequenceMaxLength - $SequenceMinLength + 1, "\n"; my @allSequence; foreach my $currLength ($SequenceMinLength .. $SequenceMaxLength){ push @allSequence, Ordered_Combinations($currLength, @Bases); } #Prints sequences to screen # - Too many entries after length of sequence is greater than 4. my $i; foreach my $finalsequence (@allSequence){ ++$i % @Bases ? print "$finalsequence\t" : print "$finalsequence\n"; }