perl – 如何在文本字符串中扩展变量?

前端之家收集整理的这篇文章主要介绍了perl – 如何在文本字符串中扩展变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Perl脚本,我从一个包含变量名的配置文件中读取一行.当我将该行读入变量时,不会放入需要用给定值替换的变量名.我使用 Config::Tiny来访问我的配置文件.例:

配置文件

thing=I want to $this

脚本

$this = "run";
my $thing = $Config->{thing};
print $thing;

打印$thing出来,因为我想$this.我想让它出来,因为我想跑.

解决方法

好的,所以你希望Perl评估你的字符串而不是打印它.

本Perl常见问题实际上涵盖了这一点:
How can I expand variables in text strings?

简而言之,您可以使用以下正则表达式:

$string =~ s/(\$\w+)/$1/eeg;

小心:从脚本外部评估任意字符串是一个主要的安全风险.一个优秀的黑客可以利用它来在您的服务器上执行任意代码.

Brian的FAQ答案涵盖了其中一些内容.

猜你在找的Perl相关文章