Note that if
$key is a user-provided value, doing this
is not a good idea. At the very least you would want to enclose
the whole thing in an
eval in case $key contains some characters
that upset the match operator (for example, if $key contains
**,
the program will die with "nested *?+ in regexp"). In the
worst case, $key could contain something that makes Perl
execute arbitrary code. So for doing something like this, you
have to make sure that $key is properly untainted.
Update: You could also use \Q, as in
"string" =~ m/ \Q$key /
--ZZamboni