Go to the first, previous, next, last section, table of contents.


SDBM を伴う関係の使用

この例は、`SDBM' クラスのためのインタフェースを示します。これは、 `SDBM' クラスと新しいクラス `Mydbm' との間の「使用」関係を作り ます。

use SDBM_File;
use POSIX;

package Mydbm;

sub TIEHASH {
    my $self = shift;
    my $ref  = SDBM_File->new(@_);
    bless {'dbm' => $ref};
}
sub FETCH {
    my $self = shift;
    my $ref  = $self->{'dbm'};
    $ref->FETCH(@_);
}
sub STORE {
    my $self = shift;
    if (defined $_[0]){
        my $ref = $self->{'dbm'};
        $ref->STORE(@_);
    } else {
        die "Cannot STORE an undefined key in Mydbm\n";
    }
}

package main;

tie %foo, Mydbm, "Sdbm", O_RDWR|O_CREAT, 0640;
$foo{'bar'} = 123;
print "foo-bar = $foo{'bar'}\n";

tie %bar, Mydbm, "Sdbm2", O_RDWR|O_CREAT, 0640;
$bar{'Cathy'} = 456;
print "bar-Cathy = $bar{'Cathy'}\n";


Go to the first, previous, next, last section, table of contents.

検索式: