Jeff Zucker > AnyData-0.10 > AnyData::Storage::File

Download:
AnyData-0.10.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  6
Open  0
View/Report Bugs
Source   Latest Release: AnyData-0.11

NAME ^

 AnyData::Storage::File -- manipulate files with rich warnings

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+ =

new() ^

 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)

open_local_file( $fname, $mode ); ^

 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.
syntax highlighting: