Thank you! This particular problem has a bit of twists... I get the $number_string string from a db and it will most of the times contain meta-like characters that need to taken literally but I also must grab a certain part of the matched line. So I made: my $quoted_number_string = quotemeta $number_string; then I did: $quoted_number_string =~ s/\\\@P\\\@/([0-9]+)/; (where @P@ in the original string marks the place where I must look for a sequence of digits with ([0-9]+)) and these are meta characters that must remain unescaped (so that I can store the matched sequence of digits). Then I finally do: qr/.*$card,$sim.*$quoted_number_string.*/i Now I am in doubt: should aply quotemeta twice like this?
or this will turn each backslash into 3 backslashes instead of just 2? I am confused. Once again thank you!, you have already helped.my $quoted_number_string = quotemeta $number_string; $quoted_number_string = quotemeta $quoted_number_string; $quoted_number_string =~ s/\\\@P\\\@/([0-9]+)/; ... qr/.*$card,$sim.*$quoted_number_string.*/i