Вы хотите, чтобы оператор countof подсчитывал количество совпадений:
my $count = () = $string =~ /(.)<=>(.)/g;
Замена пустого списка массивом сохранит совпадения:
my @matches = $string =~ /(.)<=>(.)/g;
, который предоставляет другой способ получить $count
:
my $count = @matches; # scalar @matches works too