Acme-Coro-Suke
view release on metacpan or search on metacpan
inc/IO/Scalar.pm view on Meta::CPAN
my $off = $_[3] || 0;
my $read = substr(${*$self->{SR}}, *$self->{Pos}, $n);
$n = length($read);
*$self->{Pos} += $n;
($off ? substr($_[1], $off) : $_[1]) = $read;
return $n;
}
#------------------------------
#line 468
sub write {
my $self = $_[0];
my $n = $_[2];
my $off = $_[3] || 0;
my $data = substr($_[1], $off, $n);
$n = length($data);
$self->print($data);
return $n;
}
#------------------------------
#line 489
sub sysread {
my $self = shift;
$self->read(@_);
}
#------------------------------
#line 503
sub syswrite {
my $self = shift;
$self->write(@_);
}
#line 512
#==============================
#line 521
#------------------------------
#line 531
sub autoflush {}
#------------------------------
#line 542
sub binmode {}
#------------------------------
#line 552
sub clearerr { 1 }
#------------------------------
#line 562
sub eof {
my $self = shift;
(*$self->{Pos} >= length(${*$self->{SR}}));
}
#------------------------------
#line 575
sub seek {
my ($self, $pos, $whence) = @_;
my $eofpos = length(${*$self->{SR}});
### Seek:
if ($whence == 0) { *$self->{Pos} = $pos } ### SEEK_SET
elsif ($whence == 1) { *$self->{Pos} += $pos } ### SEEK_CUR
elsif ($whence == 2) { *$self->{Pos} = $eofpos + $pos} ### SEEK_END
else { croak "bad seek whence ($whence)" }
### Fixup:
if (*$self->{Pos} < 0) { *$self->{Pos} = 0 }
if (*$self->{Pos} > $eofpos) { *$self->{Pos} = $eofpos }
return 1;
}
#------------------------------
#line 599
sub sysseek {
my $self = shift;
$self->seek (@_);
}
#------------------------------
#line 613
sub tell { *{shift()}->{Pos} }
#------------------------------
#
# use_RS [YESNO]
#
# I<Instance method.>
# Obey the curent setting of $/, like IO::Handle does?
# Default is false in 1.x, but cold-welded true in 2.x and later.
#
sub use_RS {
( run in 0.691 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )