この例は、`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.