我有一个变量$code = \'print "Hello World";'
。
当我尝试使用perl在CSV文件中写入此值时,我会在CSV中的CODE列下看到SCALAR(0x6ac7890)
之类的内容。我期待专栏下的print "Hello World";
。有人可以澄清这里出了什么问题吗?
答案 0 :(得分:6)
您的变量不包含代码段。它包含代码段的引用。这不是一回事。
要获得您想要的内容,您可以存储实际代码段:
$code = 'print "Hello world"';
print $code;
或者您可以继续存储引用,但在打印时将其取消引用:
$code = \'print "Hello world"';
print $$code; # Note $$ to de-reference variable