我想插入对字符串的哈希引用,但此方法不起作用。
一个如何插值$self->Test->{text}
?
# $self->Test->{text} contains "test 123 ok"
print "Value is: $self->Test->{text} \n"; # but not working
输出:
Test=HASH(0x2948498)->Test->{text}
最佳答案
方法调用不会在双引号内插入,因此您最终会得到字符串化的引用,后跟 ->Test->{text}
.
这样做的简单方法是利用 print
的事实。接受一个参数列表:
print "Value is: ", $self->Test->{text}, "\n";
您还可以使用串联:
print "Value is: " . $self->Test->{text} . "\n";
您也可以使用久经考验的
printf
printf "Value is %s\n", $self->Test->{text};
或者你可以使用这个愚蠢的技巧:
print "Value is: @{ [ $self->Test->{text} ] }\n";
关于perl - 如何通过方法返回的引用将哈希元素插入到字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219401/