Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在perl中获取标量(0x5bc3550)的值_Perl_Variables_Scalar - Fatal编程技术网

如何在perl中获取标量(0x5bc3550)的值

如何在perl中获取标量(0x5bc3550)的值,perl,variables,scalar,Perl,Variables,Scalar,我正在调试OTR,并尝试将其中一个变量记录到文本文件中,以查看发生了什么 当我执行以下操作时: open(my $fhii, '>>', '/opt/mail-log/mailbody.txt'); print $fhii "Body :" . $Param{Body} . "\n"; 它实际上会在我的文件中打印: Body :SCALAR(0x5b64388) 我知道,对于知道发生了什么的人来说,这是一件非常琐碎的事情,我是perl的新手,我似乎无法在网上找到一个引用来获取$P

我正在调试OTR,并尝试将其中一个变量记录到文本文件中,以查看发生了什么

当我执行以下操作时:

open(my $fhii, '>>', '/opt/mail-log/mailbody.txt');
print $fhii "Body :" . $Param{Body} . "\n";
它实际上会在我的文件中打印:

Body :SCALAR(0x5b64388)

我知道,对于知道发生了什么的人来说,这是一件非常琐碎的事情,我是perl的新手,我似乎无法在网上找到一个引用来获取
$Param{Body}
中的值

奇怪的是,
$Param{Body}
似乎是对标量的引用

$ perl -E'
   my $body = "abc";
   my %Param = ( Body => \$body );
   say $Param{Body};
   say ${ $Param{Body} };
'
SCALAR(0x12e28a8)
abc

这是一个标量引用<代码>${$Param{Body}}将取消对它的引用并获取实际值。尝试了它,结果仍然相同。。Body-:SCALAR(0x5136200)首先想到的是您有一个奇怪的数据结构。第二个想法是
use Data::Dump qw(pp)在顶部,然后
打印$fhii pp(\%Param)
来找出散列的实际外观。这不应该是
打印$fhii“Body:”$参数{Body}。“\n”-缺少一个点和一个双引号。@zb226是的,但我认为在这种情况下会出现语法错误。我认为这是一个复制粘贴错误,而不是一个实际的问题,但可能不是!