Ugh, had to read BrowserUk's approach twice to see what was going on. Mine isn't as simple as it started out either - raaa, so obvious in hindsight:
my $count = grep /[GC]/, $dna =~ /..(.)/g;
There. It slices, it dices, it counts DNA bases. (Or is that RNA? Anyway.)