in reply to Perl and delimiator
and heres an example of how it is used in a program:package easydb; use strict; use DB_File; use Storable qw(freeze thaw) ; use Exporter; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); $VERSION = 1.00; @ISA = qw(Exporter); @EXPORT = qw(&db_open &db_close &db_store &db_fetch &db_keys); @EXPORT_OK = qw(&db_open &db_close &db_store &db_fetch &db_keys); my %db ; sub db_open { my $dbfile = shift ; tie(%db, "DB_File", $dbfile) or die "Can't open $dbfile: $!"; return \%db ; } sub db_close { untie %db ; } sub db_store { my ($key, $hashref) = @_ ; $db{$key} = freeze($hashref); return $key; } sub db_fetch { my ($key) = shift; my $ref = thaw($db{$key}) ; return $ref ; } sub db_keys { return keys %db ; } 1;
Not a lot of comments, but it may help ya out there#!/usr/bin/perl use lib('.'); use warnings; use easydb ; use Data::Dumper; use strict ; my $dbfile = "some.db" ; db_open($dbfile) ; my %legend = ( "asap.cgi" => "Journal ASAPS", "abstract" => "Journal Abstract", "query" => "Journal Query", "cen" => "CEN Report", "preprint" => "Preprint Report", "reagent2000" => "Reagent Report", "article.cgi" => "Current Journal Articles", "archive.cgi" => "Article Archive" ) ; db_store ("legend",\%legend); my $legend = db_fetch("legend"); foreach my $key (sort keys %$legend ) { print "$$legend{$key}\n"; } db_close() ; exit ;
|
|---|