AnyData-0.05 > AnyData::Storage::File

名前

 AnyData::Storage::File -- 警告が豊富なファイルの取り扱い

説明

 エラーハンドリリング、ロック、binmodeなどのための数多くのオプションを持って
 ファイルのオープン、読み込み、書き込み、作成、破壊を行います。

 最も簡単な形式は以下のものと同様です

       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;
       }

 しかし、デフォルトの動きをどのように設定するかによります。

概要

 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)

< 入力, なければ失敗します > 出力, もしあれば内容を切捨て、なければ作成 >> 追記, なければ作成 +< read/write, なければ失敗します

r = < r+ =

new()

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

 または

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

 %flags は以下のいずれか、あるいはすべてが入ったハッシュです:

     f_dir      => $directory,   # デフォルトは './' (
     binmode    => $binmode,     # デフォルトは 0 (binmodeファイルではありません)
     printError => $warnings,    # デフォルトは 1 (エラーのとき警告を出力)

open_local_file( $fname, $mode );

 モードは以下のいずれかです

 a = 追記       読込 & 書込用にオープン。もしなければ作成
 r = 読込       読込用にオープン。もしなければ失敗
 u = オープン   読込 & 書込用にオープン。もしなければ失敗
 c = 作成       読込 & 書込用にオープン。もし既にあれば失敗
 o = 上書      読込 & 書込用にオープン。もしあれば上書

 さらにファイルを開けることができなければすべてのモードが失敗します。flockをサポートする
 システムでは、もし共有ロックを取得できなければ'r'は失敗します;他のモードは占有ロックが
 とれなければ失敗します。

翻訳者

川合孝典(GCD00051@nifty.ne.jp)