Perl的StringWriter / StringIO

时间:2013-06-20 15:18:32

标签: perl io stringio

我正在尝试为写入套接字的一些通信代码编写一些单元测试。在测试期间,我想让我的通信库写入一个字符串,然后我可以将字符串的内容与我期望写的内容进行比较。

在Java中我使用类似StringWriter的东西,这样我的通信代码就可以写入标准Writer接口,最后我可以询问所有写入的数据。

是否有相当于Perl的Python或String的StringIO?这样的东西已经内置了?

2 个答案:

答案 0 :(得分:4)

是。从v5.8起,您可以直接打开输出句柄到标量引用。

my $output;
open my $handle, '>', \$output;
print $handle "foo\n";
printf $handle "%d\n", 123;
close $handle;
print $output;   # => "foo\n123\n"

答案 1 :(得分:0)

您可以使用IO::Stringy执行类似操作。