in reply to Re^8: Interpolate into replacement with s//?
in thread Interpolate into replacement with s//?

I wouldn't. But what do you mean, it's not obvious? To concatenate quotes to a string, use the concatenation operator (.)!

Replies are listed 'Best First'.
Re^10: Interpolate into replacement with s//?
by philkime (Beadle) on Nov 24, 2011 at 07:58 UTC
    You mean like this? This doesn't seem to work either:
    use 5.014000; use Config::General; my $conf = new Config::General({replace => 'Z\l$1Z'}); my $string = q/ABC/; my $search = qr/^(A)/; say $conf->{config}{replace}; my $replace = '"'. q/$conf->{config}{replace}/ .'"'; $string =~ s/$search/$replace/gee; say $string;
    I know your solution works when you directly give the replacement inline but not if the replacement itself is in a variable. Perhaps you could comment on how to do this in the above code?
      Check what $replace contains...
      Tip for you
      $string =~ s/$search/ warn "Lets see what we're evaling\n$replace\n\n\n"; eval $replace; /ge;
        Ah. I appear to have been rather stupid, trying to interpolate into single quotes, thanks for the help.