http://www.perlmonks.org?node_id=174804


in reply to finding '

I prefer

$string =~ s/([^\])\'/$1\\\'/g;

Replies are listed 'Best First'.
Re: Re: finding '
by ChemBoy (Priest) on Jun 15, 2002 at 06:28 UTC

    For a different variation on the same theme, try

    $string =~ s/(?<!\\)'/\\'/g;

    Though this raises the question "what if the string contains a backslash followed by a single quote?" Which makes the regex slightly more complicated, and leads back to he conclusion that quotemeta might not be such a bad idea, after all...

    Update: while I'm writing silly regexes...

    $string =~ s/(?<!\\)(?=')/\\/g;

    <duck>



    If God had meant us to fly, he would *never* have given us the railroads.
        --Michael Flanders

A reply falls below the community's threshold of quality. You may see it by logging in.