in reply to Double interpolation of captured substrings
I would recommend using another way than interpolation to do what you want, but it can still be a fun exercise.
If you don't want to exercise and really need the functionality, look at String::Interpolate.
To show how to do what you tried to do, for educational purposes:
First generate a string that is double-quoted. This string then becomes what you would use in Perl if you had a change to type it yourself. Since it now is Perl code, use eval to evaluate it i.e. interpolate the variables.# Use something more sophisticated which escapes properly. sub quote { qq!"$_[0]"! } my ($x, $y, $z) = qw/ X Y Z /; my $str = 'Foo $x bar $y baz $z'; print $str; # Foo $x bar $y baz $z print quote($str); # "Foo $x bar $y baz $z" print eval quote(str); # Foo X bar Y baz Z
ihb
See perltoc if you don't know which perldoc to read!
Read argumentation in its context!
|
---|
In Section
Seekers of Perl Wisdom