如何将变量添加到Perl单行代码中?

问题描述 投票:0回答:1

我在Perl上有以下一线:

perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /replace_me/i } @{get_sentences($_)}' "${filePath}"

如何重组此结构,以便能够用可以作为参数传递到脚本中的任何文本字符串(也称为变量)替换“ replace_me”部分?

我知道您不能在单引号内添加变量,但是目前还不确定如何用双引号将其重组。任何帮助,将不胜感激。

perl variables scripting
1个回答
0
投票

提供您已定义REPLACEMENT环境变量:

export REPLACEMENT=replace_me

您应该可以执行以下任一操作:

perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /'$REPLACEMENT'/i } @{get_sentences($_)}' "${filePath}"

或:

perl -MLingua::EN::Sentence=get_sentences -ne 'print "$_\n" for grep { /$ENV{REPLACEMENT}/i } @{get_sentences($_)}' "${filePath}"

\Q\E引用正则表达式中使用的字符串可能也是明智的,例如grep { /\Q$ENV{REPLACEMENT}\E/i }

© www.soinside.com 2019 - 2024. All rights reserved.