DESCRIPTION

Opens, reads from, writes to, creates and destroys files with numerous options for error handling, flocking, binmode, etc.

The simplest form is the equivalent of

my $f = AnyData::Storage::File->new(dirs=>\@dirs,flock=>1); my $str1 = $f->adSlurp($file);

for( @dirs ) { open(IN,$file) or die $!; } sub slurp { local *IN; local $/ = undef; }

But, depending on how you set the default behaviour

SYNOPSIS

use AnyData; my $f = AnyData::Storage::File->new; $f->set('binmode',1|0); $f->set('PrintError',1|0); $f->set('RaiseError',1|0); $f->set('Trace',1|0); $f->set('f_dir',$dir|$dir_array)

< input, fail if doesn't exist > output, truncate if exists, create if doesn't >> append, create if doesn't exist +< read/write, fail if doesn't exist

r = < r+ =

\fInew()\fP

my $f = AnyData::Storage::File->new;

or

my $f = AnyData::Storage::File->new( %flags );

%flags is a hash which can contain any or all of:

f_dir => $directory, # defaults to './' ( binmode => $binmode, # defaults to 0 (doesn't binmode files) printError => $warnings, # defaults to 1 (print warning on errors) Mode is one of

a = append open for reading & writing, create if doesn't exist r = read open for reading, fail if doesn't exist u = open open for reading & writing, fail if doesn't exist c = create open for reading & writing, fail if it already exists o = overwrite open for reading & writing, overwrite if it already exists

Additionally, all modes fail if the file can't be opened. On systems that support flock, 'r' fails if a shared lock can not be obtained; the other modes fail if an exclusive lock can't be obtained.