NAME
FlatFile::DataStore::Record - Perl module that implements a flatfile datastore record class.
SYNOPSYS
# first, create a preamble object
use FlatFile::DataStore::Preamble;
my $preamble = FlatFile::DataStore::Preamble->new( {
datastore => $ds, # FlatFile::DataStore object
indicator => $indicator, # single-character crud flag
transind => $transind, # single-character crud flag
date => $date, # pre-formatted date
transnum => $transint, # transaction number (integer)
keynum => $keynum, # record sequence number (integer)
reclen => $reclen, # record length (integer)
thisfnum => $fnum, # file number (in base format)
thisseek => $datapos, # seek position (integer)
prevfnum => $prevfnum, # ditto these ...
prevseek => $prevseek,
nextfnum => $nextfnum,
nextseek => $nextseek,
user => $user_data, # pre-formatted user-defined data
} );
# then create a record object with the preamble contained in it
use FlatFile::DataStore::Record;
my $record = FlatFile::DataStore::Record->new( {
preamble => $preamble, # i.e., a preamble object
data => "This is a test record.", # actual record data
} );
DESCRIPTION
FlatFile::DataStore::Record is a Perl module that implements a flatfile datastore record class. This class defines objects used by FlatFile::DataStore. You will likely not ever call new() yourself, (FlatFile::DataStore::create() would, e.g., do that) but you will likely call the accessors.
VERSION
FlatFile::DataStore::Record version 1.03
CLASS METHODS
FlatFile::DataStore::Record->new( $parms )
Constructs a new FlatFile::DataStore::Record object.
The parm $parms
is a hash reference containing key/value pairs to populate the record string. Two keys are recognized:
- preamble, i.e., a FlatFile::DataStore::Preamble object
- data, the actual record data
The record data is stored in the object as a scalar reference, and new() will accept a scalar ref, e.g.,
my $record_data = "This is a test record.";
my $record = FlatFile::DataStore::Record->new( {
preamble => $preamble_obj,
data => \$record_data,
} );
OBJECT METHODS: Accessors
The following read/write methods set and return their respective attribute values if $value
is given. Otherwise, they just return the value.
The value parameter to data() and dataref() may be a scalar or scalar ref. The return value of data() is always the scalar value. The return value of dataref() is always the scalar ref.
The value given to dataref() should be a scalar ref, and dataref() will always return a scalar ref.
$record->data( $value );
$record->dataref( $value );
$record->preamble( $value ); # FlatFile::DataStore::Preamble object
The following read-only methods just return their respective values. The values all come from the record's contained preamble object.
$record->user()
$record->preamble_string() # the 'string' attr of the preamble
$record->indicator()
$record->transind()
$record->date()
$record->transnum()
$record->keynum()
$record->reclen()
$record->thisfnum()
$record->thisseek()
$record->prevfnum()
$record->prevseek()
$record->nextfnum()
$record->nextseek()
$record->is_created()
$record->is_updated()
$record->is_deleted()
AUTHOR
Brad Baxter, <bbaxter@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2011 by Brad Baxter
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.