相关疑难解决方法(0)

Perl元编程:何时在s ///的REPLACEMENT值上使用quotemeta是不安全的?

Perl的quotemeta运算符通常在SEARCH端工作s///,但是在生成要编译的代码时eval,我应该如何保护应该按字面意思使用的REPLACEMENT,但可能包含诸如$1

使用表单的代码

my $replace = quotemeta $literal_replacement;

my $code = eval <<EOCode;
  sub { s/.../$replace/ }
EOCode
Run Code Online (Sandbox Code Playgroud)

何时会产生语法错误或令人惊讶的结果?

regex perl metaprogramming

3
推荐指数
1
解决办法
566
查看次数

标签 统计

metaprogramming ×1

perl ×1

regex ×1