1package Stream::Buffered::PerlIO;
2use strict;
3use warnings;
4use base 'Stream::Buffered';
5
6sub new {
7    my $class = shift;
8    bless { buffer => '' }, $class;
9}
10
11sub print {
12    my $self = shift;
13    $self->{buffer} .= "@_";
14}
15
16sub size {
17    my $self = shift;
18    length $self->{buffer};
19}
20
21sub rewind {
22    my $self = shift;
23    my $buffer = $self->{buffer};
24    open my $io, "<", \$buffer;
25    bless $io, 'FileHandle'; # This makes $io work as FileHandle under 5.8, .10 and .11 :/
26    return $io;
27}
28
291;
30