File-Butler-3.01 > File::Butler

名前

File::Butler - 手軽なファイル操作ツールのコレクション

概要

  # 関数インターフェース
  
  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 );
  

説明

このモジュールは手軽なファイル操作ツールのコレクションです。 そして他のものよりもより便利になるよう設計されています。 さまざまな関数のすべてがまさに自明のものです。

v3.00からは、オブジェクト指向インターフェースがFile::Butlerに 追加されたことにご注意ください。後方互換性のため、前の関数スタイルも 常にサポートされます。

使用例

Butler( $file, "read", \@lines )

$fileの内容を読み込み、その内容をリファレンスで渡された配列に格納します。

$single_line = Butler( $file, "read" )

$fileの内容を読み込み、その内容をスカラーで返します。

Butler( $file, "write", \@lines )

ビックリすることはありません。$fileの前の内容を台無しにし、$fileに@linesの内容を書き出します。

Butler( $file, "append", \@lines )

またまたビックリすることはありません。$fileに@lineの内容を追加します。

Butler( $file, "prepend", \@lines )

@linesの内容を$fileの前に付けます。

Butler( $directory, "dir", \@files )

$directoryにあるファイルのリストを返します。"." から始まるファイル(例えば .htaccess)は 無視します。

Butler( $file, "srm" [, passes])

$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

( $lines, $words, $characters ) = Butler( $file, "wc" )

$fileの行、単語、文字の数を返します。これはLinuxツール"wc"と厳密にはマッチしないかもしれません。 この場合の単語の数は、正規表現m/(\w+)/g;にマッチする単語要素の数になります。

作者(=AUTHOR)

Kurt Kincaid, sifukurt@yahoo.com

参考資料

http://www.perl.com

翻訳

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