【问题标题】:Perl in memory content writing in raw modePerl 在内存中以原始模式写入内容
【发布时间】:2013-07-31 11:40:07
【问题描述】:

我正在使用 perl 5.10.0 并尝试以 原始模式 将内容写入 内存缓冲区。但它不起作用。在下面的代码 sn-p 中,我尝试比较三个场景之间的结果

my ($s1, $s2);
open RAWF, '>:raw', \$s1;     #<-------  Opening in memory reference in raw mode
print RAWF 'Hello world in RAW MODE', "\n";

open FH, '>:raw', 'testfile.bin'; #<-------  Opening a file in raw mode
print FH 'Hello world in FILE', "\n";

open NORF, '>', \$s2;   #<-------  Opening in memory reference in normal mode
print NORF 'Hello world in NORMAL MODE', "\n";   

print $s1;    #<------ Doesnt print anything
print $s2;    #<------ Prints as expected

但是,如果我使用 perl 5.14.*,那么它可以工作。这是 perl 5.10.1 的限制吗?还是应该以其他方式完成?

【问题讨论】:

    标签: perl file-io io


    【解决方案1】:

    显然,这是在 Perl 5.12 时间范围内修复的错误。请参阅perlbug #80764 - 尽管最初的报告/修复没有具体提及您的问题,但此问题出现在in the discussion on the bug 并被纳入这些补丁。

    【讨论】:

      猜你喜欢
      • 2012-10-16
      • 1970-01-01
      • 2016-05-22
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多