in reply to /foo${re}bar/

from perldata...
       As in some shells, you can enclose the variable name in
       braces to disambiguate it from following alphanumerics
       (and underscores).  You must also do this when interpolat-
       ing a variable into a string to separate the variable name
       from a following double-colon or an apostrophe, since
       these would be otherwise treated as a package separator:

           $who = "Larry";
           print PASSWD "${who}::0:0:Superuser:/:/bin/perl\n";
           print "We use ${who}speak when ${who}'s here.\n";

       Without the braces, Perl would have looked for a $whos-
       peak, a $who::0, and a $who's variable.  The last two
       would be the $0 and the $s variables in the (presumably)
       non-existent package "who".

       In fact, an identifier within such curlies is forced to be
       a string, as is any simple identifier within a hash sub-
       script.  Neither need quoting.  Our earlier example,
       $days{'Feb'} can be written as $days{Feb} and the quotes
       will be assumed automatically.  But anything more compli-
       cated in the subscript will be interpreted as an expres-
       sion.