解决方法
这意味着您可以使用文件句柄来写入和读取标量变量.
my $var = ""; open my $fh,'>',\$var; print $fh "asdf"; close $fh; print $var; # asdf
最终,这只是一个更多的办法
$var .= "asdf"
但是有一些上下文比字符串操作范例更方便或更适合使用文件句柄范例.
例如,从这个代码开始:
open my $fh,$logfile; ... print $fh $some_message_to_be_logged; ... 500 more print $fh statements ... close $fh;
但你知道吗现在我宁愿在一个标量变量中记录我的日志消息,也许我可以搜索它们,在写入磁盘之前对它们进行操作.我可以将所有的打印语句更改为
$logvar .= $some_message_to_be_logged
但在这种情况下,更方便的是更改open语句.
open my $fh,\$logvar