package Stream::Buffered::PerlIO;
use strict;
use warnings;
use base 'Stream::Buffered';
sub new {
my $class = shift;
bless { buffer => '' }, $class;
}
sub print {
my $self = shift;
$self->{buffer} .= "@_";
}
sub size {
my $self = shift;
length $self->{buffer};
}
sub rewind {
my $self = shift;
my $buffer = $self->{buffer};
open my $io, "<", \$buffer;
bless $io, 'FileHandle'; # This makes $io work as FileHandle under 5.8, .10 and .11 :/
return $io;
}
1;