获取变量名称及其在perl中的值

时间:2014-02-08 10:31:14

标签: regex perl

我正在编写一个现在变得非常大的perl脚本。
我只想打印所有变量名称及其对应的值为例如我的脚本

$filename = "vivek.html";
$name = "$0";
$lang = "perl";
($dynamic_var) = $filecontent =~ /([\w\=\-\ ]+)(?=<)/;

并且还在运行时初始化了一些变量 需要输出:

$filename==>vivek.html
$name==>script.pl
$lang==>perl
$dynamic_var==>dynamic value

1 个答案:

答案 0 :(得分:2)

这远非好的做法(你应该使用自己的哈希),但是你可以查看存储了所有包(全局)变量的%main::哈希值,因为它似乎只是在使用它们,< / p>

my %vars;
BEGIN {
  @vars{keys %main::} = ();
}

# begin of your script
$filename = "vivek.html";
$name = "$0";
$lang = "perl";
# end of your script

print "\$$_==>$$_\n" 
  for sort grep { !exists $vars{$_} } keys %main::;