DBM-Deep
view release on metacpan or search on metacpan
lib/DBM/Deep/Storage/File.pm view on Meta::CPAN
my $fh = $self->{fh};
my $len = length( join '', @_ );
seek( $fh, $loc + $self->{file_offset}, SEEK_SET );
if(tell($fh) > $len + 2 ** (8 * $self->{byte_size}) - 1) {
die("DBM::Deep: too much data, try a bigger pack_size\n");
}
if ( DEBUG ) {
my $caller = join ':', (caller)[0,2];
warn "($caller) print_at( " . (defined $loc ? $loc : '<undef>') . ", $len )\n";
}
print( $fh @_ ) or die "Internal Error (print_at($loc)): $!\n";
return 1;
}
=head2 read_at( $offset, $length )
lib/DBM/Deep/Storage/File.pm view on Meta::CPAN
sub read_at {
my $self = shift;
my ($loc, $size) = @_;
my $fh = $self->{fh};
if ( defined $loc ) {
seek( $fh, $loc + $self->{file_offset}, SEEK_SET );
}
if ( DEBUG ) {
my $caller = join ':', (caller)[0,2];
warn "($caller) read_at( " . (defined $loc ? $loc : '<undef>') . ", $size )\n";
}
my $buffer;
read( $fh, $buffer, $size);
return $buffer;
}
=head2 DESTROY
( run in 0.872 second using v1.01-cache-2.11-cpan-a3c8064c92c )