in reply to Re: Why repeated matches...
in thread Why repeated matches...

Sneakier still:
@schools = map /\s([\w ]+? PRIMARY SCHOOL)/, <FH>;
map creates a list of matches, here consisting only of $1, when it matches, and an empty list when it fails to match.