Dear monks,
Today I'm trying to define a regex substitution from a parameter which is received from outside.
In the s/<regex>/<replacement>/ structure, both the <regex> and the <replacement> are passed from other strings.
Seems the <regex> part works well, however for the <replacement> part, there is a '$1' to capture what's matched from the <regex> part and this seems not working.
In fact, it looks like the '$1' was not interpretted at all.
My script is like the following:
$a = 'https://www.domain.com/aaa/bbb/file.zip'; $from = 'aaa.*\/(.+)$'; $to = 'file_publish?file=$1'; $a =~s/$from/$to/i; print "\$1: $1\n"; print "RESUTL: $a\n";
The result is like:
> ./pt_demo.pl
$1: file.zip
RESUTL: https://www.domain.com/file_publish?file=$1
But what I need is to replace the '$1' with the actual file name 'file.zip', so the result I actually need is like:
RESUTL: https://www.domain.com/file_publish?file=file.zip
My monks, could you please cast your light of wisdom on me to help me get the '$1' work regex substitution?
My best wishes
In reply to Define regex substitution $1,$2,... from a string by sylph001
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |