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 )