「文字列中の^の数を数える」方法のまとめ。
795: --------------------
my $string = "ab^cd^efg^";
my @match;
@match = ($string =~ /(\^)/g);
print @match+0 ,"\n";
802: --------------------
use strict;
my $sObj ='A^BCDE1^2ABDE^ABC';
my $iCnt = 0;
map {++$iCnt} ($sObj =~ /\^/g);
print "COUNT: $iCnt\n";
(↑お題に沿うよう手を入れました)
825: --------------------
my $test = '^asdasdf^^^asdfasdfasdf^^asdfasdf^asdfa^a^fasdfasdf^a';
my @count = $test =~ /(\^)/g;
print scalar @count;
832: --------------------
my $count = $str =~ tr/^//;

my $count = $str =~ s/(\Q^\E)/$1/g;


795と825はまあ同じですね。
しかし結構いろいろあるもんだね。