From 2f01d7c3a85d28b78fb703c2eb5fb8f343a3c816 Mon Sep 17 00:00:00 2001 From: Harvie Date: Thu, 5 May 2011 17:55:45 +0200 Subject: [PATCH] Experiments with PERL and BerkeleyDB --- perl/db_file/.gitignore | 1 + perl/db_file/db.pl | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 perl/db_file/.gitignore create mode 100755 perl/db_file/db.pl diff --git a/perl/db_file/.gitignore b/perl/db_file/.gitignore new file mode 100644 index 0000000..98e6ef6 --- /dev/null +++ b/perl/db_file/.gitignore @@ -0,0 +1 @@ +*.db diff --git a/perl/db_file/db.pl b/perl/db_file/db.pl new file mode 100755 index 0000000..7460aa7 --- /dev/null +++ b/perl/db_file/db.pl @@ -0,0 +1,32 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use BerkeleyDB; + +#my ( %h $k $v ); +tie my %h, "BerkeleyDB::Hash", -Filename => '_fruit.db', -Flags => DB_CREATE || die "Cannot open DB!\n"; +#tie my %h, "Tie::Hash::DBD", "dbi:SQLite:dbname=_sqlite.db"; + +# Add a few key/value pairs to the file +$h{"apple"} = "red"; +#$h{"banana"} = "yellow"; +$h{"orange"} = "orange"; +$h{"tomato"} = "red"; + +use JSON; +use Data::Dumper; +#$h{"test"} = to_json({"from" => "to", "lol" => "rofl"}); +print $h{"test"}."\n"; +print Dumper(from_json($h{"test"}))."\n"; + + +# Check for existence of a key +print "Banana Exists\n\n" if $h{"banana"}; + +# Delete a key/value pair. +delete $h{"apple"}; + +# print the contents of the file +while (my ($k, $v) = each %h) { print "$k -> $v\n" } + +untie %h; -- 2.30.2