2008-03-31から1日間の記事一覧

14.5 大規模なDBMファイルをソートする

DB_FileのBツリーバインドを機能を使用して、自分で独自に作成した比較関数を指定する。 use DB_File; # エクスポートされた$DB_BTREEハッシュリファレンスを使用して # キーの比較を行うPerlのサブルーチンを指定する $DB_BTREE->{'compare'} = sub { my ($…

14.4 DBMファイルをマージする

それぞれのハッシュをリストとして処理する %OUTPUT = (%INPUT1, %INPUT2); それぞれのキーと値のペアをループ処理する %OUTPUT = (); foreach $href (\%INPUT1, \%INPUT2) { while (my($key, $value) = each(%$href) { if (exists $OUTPUT{$key}) { # どち…

14.3 異なるDBMファイルに変換する

DBMファイルからキーと値を読み取り、それらを異なるDBMフォーマットの新しいファイルに書き込む #!/usr/bin/perl -w # db2gdbm: DBをGDBMに変換する use strict; use DB_File; use GDBM_File; unless (@ARGV == 2) { die "Usage: db2gdbm infile outfile\n"…

14.2 DBMファイルを空にする

tieを使用してデータベースを開き、そのデータベースに関連づけられたハッシュに()を設定する。 use DB_File; tie(%HASH, "DB_File", $FILENAME) or die; %HASH = (); untie %HASH; ファイルを削除してから、改めて開き直す。 unlink $FILENAME or die; tie(…

14.1 DBMファイルを作成/使用する

DBMデータベースを作成し、値を格納、入力、参照、削除したい。 tieを使用してデータベースを開き、ハッシュによってアクセスできるようにする。必要な操作が完了したら、untieを呼び出す。 use DB_File; # データベースモジュールをロードする。 tie %HASH,…