FlatFile-DataStore
view release on metacpan or search on metacpan
lib/FlatFile/DataStore/Toc.pm view on Meta::CPAN
my $dirmax = $ds->dirmax;
my $path = "";
my $this = $tocfint;
for( 1 .. $dirlev ) {
my $dirint = $dirmax? (int( ( $this - 1 ) / $dirmax ) + 1): 1;
my $dirnum = int2base $dirint, $fnumbase, $fnumlen;
$path = $path? "$dirnum/$path": $dirnum;
$this = $dirint;
}
$path = $ds->dir . "/$name/toc$path";
mkpath( $path ) unless -d $path;
$tocfile = "$path/$tocfile";
}
else {
$tocfile = $ds->dir . "/$tocfile";
}
return $tocfile;
}
#---------------------------------------------------------------------
=head1 OBJECT METHODS: Accessors
The following read/write methods set and return their respective
attribute values if C<$value> is given. Otherwise, they just return
the value.
$record->datastore( [$value] )
$record->string( [$value] )
The following methods expect an integer parm and return an integer
value (even though these are stored in the tocfile as numbers in their
respective bases).
$record->datafnum( [$value] )
$record->keyfnum( [$value] )
$record->tocfnum( [$value] )
$record->numrecs( [$value] )
$record->keynum( [$value] )
$record->transnum( [$value] )
$record->create( [$value] )
$record->oldupd( [$value] )
$record->update( [$value] )
$record->olddel( [$value] )
$record->delete( [$value] )
=cut
sub datastore {for($_[0]->{datastore} ){$_=$_[1]if@_>1;return$_}}
sub string {for($_[0]->{string} ){$_=$_[1]if@_>1;return$_}}
sub datafnum {for($_[0]->{datafnum} ){$_=$_[1]if@_>1;return$_}}
sub keyfnum {for($_[0]->{keyfnum} ){$_=$_[1]if@_>1;return$_}}
sub tocfnum {for($_[0]->{tocfnum} ){$_=$_[1]if@_>1;return$_}}
sub numrecs {for($_[0]->{numrecs} ){$_=$_[1]if@_>1;return$_}}
sub keynum {for($_[0]->{keynum} ){$_=$_[1]if@_>1;return$_}}
sub transnum {for($_[0]->{transnum} ){$_=$_[1]if@_>1;return$_}}
sub create {for($_[0]->{create} ){$_=$_[1]if@_>1;return$_}}
sub oldupd {for($_[0]->{oldupd} ){$_=$_[1]if@_>1;return$_}}
sub update {for($_[0]->{update} ){$_=$_[1]if@_>1;return$_}}
sub olddel {for($_[0]->{olddel} ){$_=$_[1]if@_>1;return$_}}
sub delete {for($_[0]->{delete} ){$_=$_[1]if@_>1;return$_}}
__END__
=head1 AUTHOR
Brad Baxter, E<lt>bbaxter@cpan.orgE<gt>
=head1 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.
=cut
( run in 1.288 second using v1.01-cache-2.11-cpan-13bb782fe5a )