use strict; use warnings; print comNucCount('acgtacgtacgtacgt', 'aaaaccccggggtttt'), "\n"; sub comNucCount { my @str1 = split '', lc shift; my @str2 = split '', lc shift; my %counts = (a => 0, c => 0, g => 0, t => 0); for (@str1) { last if ! @str2; # Length mismatch - done $counts{$_}++ if $_ eq shift @str2; } return "A=$counts{'a'}, C=$counts{'c'}, G=$counts{'g'}, T=$counts{'t'}"; }