根据PerlDoc的介绍,您可以将文件打开到标量变量中 https://perldoc.perl.org/functions/open#Opening-a-filehandle-into-an-in-memory-scalar。
我正在尝试确定是否可以使用这种方法来处理词法域内持久的临时文件。 我正在进行以下测试:
我正在尝试确定是否可以使用这种方法来处理词法域内持久的临时文件。 我正在进行以下测试:
my $memfile;
my $filename=\$memfile;
open (OUT, ">", $filename);
print OUT "some data\n";
close (OUT);
我希望能够从标量中读取数据,例如:
open (IN, "<", $filename);
while (my $in=<IN>)
{
print "$in\n";
}
close (IN);
这个不起作用,所以我是疯了还是有正确的方法让它起作用呢?
perl -wE'open my $fh, ">", \my $mem or die $!; say $fh "hi"; say "var: $mem"'
运行正常。 - zdimperl -wE'my $mem; my $f = \$mem; open my $fh, ">", $f or die $!; say $fh "hi"; say "var: $mem"'
也可以正常工作。 - zdimFile::Temp
? - zdim