By the way, I've been finding code assertions are a fun way of spying on what's going on with your regexps: $_ = "Alpha beta gamma"; my @matches = m:g/(a) <?{ put $0.pos }>/; # 5 # 10 # 13 # 16