如何在perl one liner中避免错误的变量名解释

如何在perl one liner中避免错误的变量名解释,perl,Perl,我想将apache配置文件的MinSpareThreads指令值从75替换为125 我编写了perl单行程序代码,如下所示 perl -pi.$(date +%Y%m%d) -e 's;MinSpareThreads(\s+)(\d+);MinSpareThreads$1125;g' httpd-mpm.conf 然而,它输出的结果如下 root@8c659a9d5907:/usr/local/apache2/conf/extra# diff httpd-mpm.conf.20180130 h

我想将apache配置文件的MinSpareThreads指令值从75替换为125

我编写了perl单行程序代码,如下所示

perl -pi.$(date +%Y%m%d) -e 's;MinSpareThreads(\s+)(\d+);MinSpareThreads$1125;g' httpd-mpm.conf
然而,它输出的结果如下

root@8c659a9d5907:/usr/local/apache2/conf/extra# diff httpd-mpm.conf.20180130 httpd-mpm.conf
46c46
<     MinSpareThreads         75
---
>     MinSpareThreads
63c63
<     MinSpareThreads         75
---
>     MinSpareThreads
83c83
<     MinSpareThreads         25
---
>     MinSpareThreads
97c97
<     MinSpareThreads          5
---
>     MinSpareThreads
root@8c659a9d5907:/usr/local/apache2/conf/extra#diff httpd-mpm.conf.20180130 httpd-mpm.conf
46c46
<75分钟
---
>米斯帕雷线程
63c63
<75分钟
---
>米斯帕雷线程
83c83
<25分钟
---
>米斯帕雷线程
97c97
<5分钟
---
>米斯帕雷线程
似乎1美元被无意中确认为1125美元。 1125美元不存在。因此,上面的结果被显示出来


您知道如何避免上述错误解释吗?

为了在名称与周围文本无法区分的上下文中使用Perl变量,您可以将名称(不包括sigil)放入
{…}
中。因此,您不需要使用
$$1125
,而应该使用
${1}125

以便在名称与周围文本无法区分的上下文中使用Perl变量,您可以将名称(不包括sigil)放入
{…}
中。因此,您将拥有
${1}125
,而不是
$1125