=encoding euc-jp =head1 名前 File::CounterFile - 永続的なカウンタ・クラス =head1 概要 use File::CounterFile; $c = File::CounterFile->new("COUNTER", "aa00"); $id = $c->inc; open(F, ">F$id"); =head1 説明 このモジュールは永続的なカウンタ・クラスを実装します。それぞれのカウンタは ファイルシステムでの別々のファイルによって表されます。ファイルのロックが 適用されます。そのため複数のプロセスが同じカウンタに同時にカウンタを破壊する 危険もなくアクセスしようとすることができます。 オブジェクトのコンストラクタ(C)に最初のパラメータとしてファイル名を 与えることができます。存在しなければ、そのファイルは作成されます。 もしファイル名が"/"や"."ではじまらなければ、C<$File::CounterFile::DEFAULT_DIR> からの相対位置にあるファイルと解釈されます。この変数のデフォルト値は環境変数 Cあるいは環境変数が定義されていなければFにより初期化されます。 カウンタを作成する前に、この変数に別の値を代入したいかもしれません。 コンストラクタに2番目のパラメータを渡すと、それは新しいカウンタの初期値を 設定します。このパラメータはファイルが作成されるとき (つまり呼び出される前には存在しない)だけ、効力があります Cメソッドを呼ぶと、カウンタの値を1つ増やします。Cを 呼ぶと、カウンタの値は減少します。どちらの場合も、新しい値が返されます。 Cは数値(数字のみ)のカウンタにのみ機能します。 カウンタの値を(増やすことなく)、Cメソッドを使うことにより 見ることが出来ます。 カウンタはC と C メソッドでロックし、アンロックする ことができます。常にカウンタを更新するという必要がないので、カウンタが ロックされていると値の増加と取り出しがより速くなります。カウンタが ロックされているかをCメソッドを使って問い合わせることができます。 File::CounterFileオブジェクトへの演算子のオーバーロードされたインターフェース もあります。つまりC<++>演算子をカウンタを増加させるために、C<-->演算子を 減少させるために使うことが出来ます。そしてカウンタを直接文字列に 入れることが出来ます。 =head1 著作権(COPYRIGHT) Copyright (c) 1995-1998,2002 Gisle Aas. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 作者 Gisle Aas