加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用var在Perl中选择var

发布时间:2020-12-16 06:06:27 所属栏目:大数据 来源:网络整理
导读:我以为你曾经能够在“严格”模式下做到这一点,但我可能记得不正确.有可能这样的东西工作…… use strict;use warnings;package SomePackage;my $TargetPID="demo:5"; #using "our" also works,but not in strict modemy $VarName="TargetPID";print ${$VarNa
我以为你曾经能够在“严格”模式下做到这一点,但我可能记得不正确.有可能这样的东西工作……

use strict;
use warnings;

package SomePackage;

my $TargetPID="demo:5"; #using "our" also works,but not in strict mode
my $VarName="TargetPID";

print ${$VarName}; #works but not in strict or if the var is declared with "my"
exit;

我感兴趣的原因是我正在尝试根据文本文件中的文本标志选择变量,我想将文本文件的内容读入哈希,然后沿着行替换一些标识符“#TargetPID#”与相应的变量.也能够指定包和变量(或常量)将是一个不错的tbonus.

解决方法

我不能想到以你尝试过使用哈希的方式做任何优势:

use strict;
use warnings;

package SomePackage;

my %vars = ();
$vars{'TargetPID'}="demo:5";
my $VarName="TargetPID";

print $vars{$VarName};
exit;

如果你真的必须使用$TargetPID作为变量而不是散列的成员,你可以使用eval:

my $TargetPID = "demo:5";
my $VarName = '$TargetPID';
print eval $VarName;

或者,如果由于某种原因你需要$VarName的值为’TargetPID’而不是’$TargetPID’,你可以打印eval’$’. $varname的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读