=encoding euc-jp =head1 NAME Data::TemporaryBag - テンポラリファイルを用いて大きなデータを取り扱う =head1 SYNOPSIS use Data::TemporaryBag; $data = Data::TemporaryBag->new; # 文字列を追加 $data->add('ABC' x 1000); # オーバーライドされた'.='演算子も使えます。 $data .= 'DEF' x 1000; ... $substr = $data->substr(2997, 6); # ABCDEF =head1 DESCRIPTION Iモジュールは、大きなデータを扱うI<入れ物>オブジェクトを提供します。 小さなデータはオンメモリで処理します。データがI<$Threshold>よりも大きくなると、内部で テンポラリファイルに保存します。 =head2 METHOD =over 4 =item Data::TemporaryBag->new( [$data] ) 新しい入れ物を作ります。 =item $bag->clear $bagをクリアします。 =item $bag->add( $data ) $dataを$bagに追加します。 '.='代入演算子も同等の働きをします。 =item $bag->substr( $offset, $length, $replace ) $bagから部分文字列を取り出します。標準のsubstr関数と似た働きをしますが、 lvalueにはなりません。 =item $bag->clone $bagを複製します。 =item $bag->value $bagの中身のデータを文字列で取り出します。 文字列は非常に大きいものである可能性があります。 =item $bag->length データの長さを返します。 =item $bag->defined $bagの中身が定義されているかどうかを返します。 =item $bag->is_saved $bagがテンポラリファイルに保存されているかどうかを返します。 =back =head2 グローバル変数 =over 4 =item $Data::TemporaryBag::Threshold データをファイルに保存する閾値を、キロバイト単位で設定します。 デフォルトは10。 =item $Data::TemporaryBag::TempPath テンポラリファイルを作るディレクトリを指定します。 デフォルトはI<$ENV{TEMP} || $ENV{TMP} || './'>。 =item $data::TemporaryBag::MaxOpen オープンしたままにしておく最大ファイル数を指定します。 デフォルトは10。 =back =head1 COPYRIGHT Copyright 2001 Yasuhiro Sasama (ySas), This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 翻訳者 笹間康弘 (ysas@nmt.ne.jp) =cut