---
name: "AnyData::Storage::File"
section: "3pm"
platform: "linux"
package: "libanydata-perl"
version: "0.12-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AnyData::Storage::File"
---

# AnyData::Storage::File(3pm)

## 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.
```
