@result = $subject =~ m/[ACTG][ATGC]/g;
print scalar(@result);
Редактируйте, потому что вы полностью изменили свой вопрос:
use strict;
my $subject = "AACGTACTGACGTACTGGTTGGTACGA";
my %results = ();
while ($subject =~ m/[ACTG][ATGC]/g) {
# matched text = $&
if(exists $results{$&})
{
$results{$&}++
}
else
{
$results{$&} = 1;
}
}
foreach (sort keys %results) {
print "$_ : $results{$_}\n";
}
Выход:
AA : 1
CG : 3
CT : 2
GA : 1
GG : 2
TA : 3
TT : 1
Окончательное редактирование: надеюсь ... спасибо @ canavanin
use strict;
my $subject = "AACGTACTGACGTACTGGTTGGTACGA";
my %results = ();
while ($subject =~ m/[ACTG][ATGC]/g) {
# matched text = $&
$results{$&}++
}
foreach (sort keys %results) {
print "$_ : $results{$_}\n";
}