friday:~ $ perl -mre=debug $re = '$bar'; print map ">$_\n", grep /$re/, qw( $foo $bar ); compiling RE `$bar' size 5 first at 1 1: EOL(2) 2: EXACT (5) 5: END(0) anchored `bar' at 0 (checking anchored) minlen 3 Matching `$bar' against `bar' Setting an EVAL scope, savestack=12 1 <$> | 1: EOL friday:~ $ perl -mre=debug $re = '\$bar'; print map ">$_\n", grep /$re/, qw( $foo $bar ); compiling RE `\$bar' size 4 first at 1 1: EXACT <$bar>(4) 4: END(0) anchored `$bar' at 0 (checking anchored isall) minlen 4 >$bar