パターンの出現回数

文字列の中から、特定の文字列の出現回数を数える - あくる日
非破壊で書いてみる

use utf8;
my $str = 'はてなアンテナ、はてなブックマーク、はてなカウンター、はてなダイアリー';
my $i=0;
$i++ for $str =~ m!はてな!g;
print "$i?n";

または、

$i++ while $str =~ m!はてな!g;

上はリスト、下はブール値コンテキスト。
この辺りが普通っぽい気がする。


正規表現だけで数えるとかそういうのがありそうなんだが、わからない。