=encoding euc-jp =head1 名前 File::Butler - 手軽なファイル操作ツールのコレクション =head1 概要 # 関数インターフェース use File::Butler; Butler( "somefile.txt", "read", \@lines ); $single_line = Butler( "somefile.txt", "read" ); Butler( "somefile.txt", "write", \@lines ); Butler( "somefile.txt", "write", \$line ); Butler( "somefile.txt", "append", \@data ); Butler( "somefile.txt", "append", \$data ); Butler( "somefile.txt", "prepend", \@data ); Butler( "somefile.txt", "prepend", \$data ); Butler( "/home/kurt", "dir", \@files ); Butler( "somefile.txt", "srm" [, $passes] ); ( $lines, $words, $characters ) = Butler( "somefile.txt", "wc" ); # OOインターフェース use File::Butler; $ref = File::Butler->new(); @lines = $ref->read( $file ); $single_line = $ref->read( $file ); $ref->write( $file, \@lines ); $ref->write( $file, \$line ); $ref->append( $file, \@lines ); $ref->append( $file, \$line ); $ref->prepend( $file, \@lines ); $ref->prepend( $file, \$line ); @files = $ref->dir( $directory ); $ref->srm( $file [, $passes] ); ( $lines, $words, $characters ) = $ref->wc( $file ); =head1 説明 このモジュールは手軽なファイル操作ツールのコレクションです。 そして他のものよりもより便利になるよう設計されています。 さまざまな関数のすべてがまさに自明のものです。 v3.00からは、オブジェクト指向インターフェースがFile::Butlerに 追加されたことにご注意ください。後方互換性のため、前の関数スタイルも 常にサポートされます。 =head1 使用例 =head2 B $fileの内容を読み込み、その内容をリファレンスで渡された配列に格納します。 =head2 $single_line = B $fileの内容を読み込み、その内容をスカラーで返します。 =head2 B ビックリすることはありません。$fileの前の内容を台無しにし、$fileに@linesの内容を書き出します。 =head2 B またまたビックリすることはありません。$fileに@lineの内容を追加します。 =head2 B @linesの内容を$fileの前に付けます。 =head2 B $directoryにあるファイルのリストを返します。"." から始まるファイル(例えば .htaccess)は 無視します。 =head2 B $fileの内容を指定された回数の0と1で上書きし、それからファイルをunlinkします。 passesが指定されなければ、unlinkの前に上書きします。 合計で10個の異なる上書き方法が利用されます。 10以上のpassesが指定されると、サイクルが繰り返されます。そのサイクルは以下の通りです: Pass 1: ランダムな 0 と 1; Pass 2: #1と同じ; Pass 3: #1と同じ; Pass 4: #1と同じ; Pass 5: 010101; Pass 6: 101010; Pass 7: 100100; Pass 8: 010010; Pass 9: 000000; Pass 10: 111111 =head2 ( $lines, $words, $characters ) = B $fileの行、単語、文字の数を返します。これはLinuxツール"wc"と厳密にはマッチしないかもしれません。 この場合の単語の数は、正規表現m/(\w+)/g;にマッチする単語要素の数になります。 =head1 作者(=AUTHOR) Kurt Kincaid, sifukurt@yahoo.com =head1 参考資料 L =head1 翻訳 川合孝典(GCD00051@nifty.ne.jp)