On Sat, Nov 23, 2002 at 10:45:40AM +0000, Jason Rauer wrote:

> Say I have:
> 
> foreach $string (@strings) {
>  if ($text =~ /$string/) { ... }
> }
> 
> Now, it happens that the data in $string contains \|()[{$^*.? etc. that 
> turn into regex metacharacters within m// but I want to match them by their 
> literal value, not as a regex pattern. That is, now Perl terminates the 
> script because whenever $string happens to contain, say, a ( it interprets 
> it as an unmatched parenthesis in a regex pattern when what I'd like to 
> match is just \(.
> 
> How to keep those characters from turning into regex patterns?

The function you are looking for is called C<quotemeta>.

perldoc -f quotemeta

-- 
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to