in reply to Regex curly bracket ambiguity

It's pretty easy to find some other syntax that will not change the meaning of your pattern, but give Perl more clues as to your intent. For example, a (?:...) non-capturing group.
$string =~ m/(?:$match){$repeat}/;

--
[ e d @ h a l l e y . c c ]