Sopht Square

Tie::ArrayDB - ドキュメント

名前

Tie::ArrayDB - 配列型簡易データベース

概要


    use Tie::ArrayDB;

    tie @db, 'Tie::ArrayDB', $file, [qw(name lang msg)];

    $new1 = { name => 'Anyakichi', lang => 'Japanese', msg => 'what?' };
    $new2 = { name => 'あにゃきち', lang => '日本語', msg => 'なーに' };

    push @db, $new1;
    unshift @db, $new2;

    # ... 時は流れて ...

    $record1 = $db[-1];
    $record2 = $db[0];

    print $record1->{msg}, $record2->{msg};
    # 結果は
    # what?なーに
  

説明

このモジュールは Tie::FileArray を使って簡単なデータベースを実現します。よって利用する際には "ファイル名.idx" という名前のファイルをあらかじめ作っておく必要があります。

利用するにはまず最初にどのようなフィールドを持つのかという定義を行う必要があります。これは tie を実行するときに、第4引数として配列のリファレンスを渡してください。「概要」では、name, lang, msg の3つを定義しています。レコードの受け渡しはこのフィールド定義に従ってハッシュのリファレンスで行われます。

Tie::FileArray とは違って、レコードの中に改行などが含まれていても構いません。含まれていた場合は自動的にエンコードしてファイルに保存し、読み出すときに自動的にデコードしてハッシュにセットしてくれます。

配列型ですので、掲示板や日記など「名前」よりも「順番」が重視されるような用途で快適に利用できます。Tie::FileArray を使用しているので、効率の高さも折り紙付きです。

参考

Tie::FileArray

作者

あにゃきち, <anyakichi@sopht.jp>

著作権とライセンス

Copyright © 2003-2004 あにゃきち All rights reserved.

このライブラリはフリーソフトウェアです。Perl と同じ条件で再配布・変更を行って構いません。