/usr/share/doc/libtokyocabinet-perl/examples/tchdbex.pl is in libtokyocabinet-perl 1.34-1build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | use TokyoCabinet;
use strict;
use warnings;
# create the object
my $hdb = TokyoCabinet::HDB->new();
# open the database
if(!$hdb->open("casket.tch", $hdb->OWRITER | $hdb->OCREAT)){
my $ecode = $hdb->ecode();
printf STDERR ("open error: %s\n", $hdb->errmsg($ecode));
}
# store records
if(!$hdb->put("foo", "hop") ||
!$hdb->put("bar", "step") ||
!$hdb->put("baz", "jump")){
my $ecode = $hdb->ecode();
printf STDERR ("put error: %s\n", $hdb->errmsg($ecode));
}
# retrieve records
my $value = $hdb->get("foo");
if(defined($value)){
printf("%s\n", $value);
} else {
my $ecode = $hdb->ecode();
printf STDERR ("get error: %s\n", $hdb->errmsg($ecode));
}
# traverse records
$hdb->iterinit();
while(defined(my $key = $hdb->iternext())){
my $value = $hdb->get($key);
if(defined($value)){
printf("%s:%s\n", $key, $value);
}
}
# close the database
if(!$hdb->close()){
my $ecode = $hdb->ecode();
printf STDERR ("close error: %s\n", $hdb->errmsg($ecode));
}
# tying usage
my %hash;
if(!tie(%hash, "TokyoCabinet::HDB", "casket.tch", TokyoCabinet::HDB::OWRITER)){
printf STDERR ("tie error\n");
}
$hash{"quux"} = "touchdown";
printf("%s\n", $hash{"quux"});
while(my ($key, $value) = each(%hash)){
printf("%s:%s\n", $key, $value);
}
untie(%hash);
|