XBase::Base(3)

NAME
XBase::Base - Base input output module for XBase suite

SYNOPSIS
Used indirectly, via XBase or XBase::Memo.

DESCRIPTION
This module provides catch-all I/O methods for other XBase classes, should be used by people creating additional XBase classes/methods. There is nothing interesting in here for users of the XBase(3) module. Methods in XBase::Base return nothing (undef) on error and the error message can be retrieved using the errstr method.

Methods are:

new Constructor. Creates the object and if the file name is specified, opens the file.

open
    Opens the file and using method read_header reads the header and sets the object's data structure. The read_header should be defined in the derived class, there is no default.

close
    Closes the file, doesn't destroy the object.

drop
    Unlinks the file.

create_file
    Creates file of given name. Second (optional) paramater is the permission specification for the file.

The reading/writing methods assume that the file has got header of length header_len bytes (possibly 0) and then records of length record_len. These two values should be set by the read_header method.

seek_to, seek_to_record
    Seeks to absolute position or to the start of the record.

read_record, read_from
    Reads data from specified position (offset) or from the given record. The second parameter (optional for read_record) is the length to read. It can be negative, and at that case the read will not complain if the file is shorter than requested.

write_to, write_record
    Writes data to the absolute position or to specified record position. The data is not padded to record_len, just written out.

General locking methods are locksh, lockex and unlock, they call _locksh, _lockex and _unlock which can be redefined to allow any way for locking (not only the default flock). The user is responsible for calling the lock if he needs it.

No more description -- check the source code if you need to know more.

VERSION
1.02

AVAILABLE FROM
http://www.adelton.com/perl/DBD-XBase/

AUTHOR
(c) 1997--2011 Jan Pazdziora.

SEE ALSO
perl(1), XBase(3)