且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

当用户输入右侧时,通过s///操作符安全地使用ee修饰符

更新时间:2023-11-11 19:45:16

问题1:

由于以下内容替换为${1}1,因此无法替换为$11.

There's no way to replace with $1 followed by 1 since the following replaces with ${1}1.

$ script '${1}1'
${1}1${1}1


问题2:


Problem 2:

$ script '\${ system "echo rm -rf /" }'
rm -rf /
Use of uninitialized value in substitution iterator at a.pl line 12.
rm -rf /
Use of uninitialized value in substitution iterator at a.pl line 12.


问题3:


Problem 3:

$ script '$1{ system "echo rm -rf /" }'
rm -rf /
Use of uninitialized value within %1 in string at (eval 1) line 1.
rm -rf /
Use of uninitialized value within %1 in string at (eval 2) line 1.


当然,还有其他人.解决方案:


Surely, there are others. Solution:

使用 String :: Substitution .