]> git.donarmstrong.com Git - biopieces.git/blob - code_perl/Maasha/Berkeley_DB.pm
adding bzip2 support in ruby
[biopieces.git] / code_perl / Maasha / Berkeley_DB.pm
1 package Maasha::Berkeley_DB;
2
3
4 # Copyright (C) 2007-2008 Martin A. Hansen.
5
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
20 # http://www.gnu.org/copyleft/gpl.html
21
22
23 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
24
25
26 # Routines for Berkeley DB manipulation.
27
28
29 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
30
31
32 use warnings;
33 use strict;
34 use Data::Dumper;
35 use Maasha::Common;
36 use DB_File;
37
38 use vars qw( @ISA @EXPORT_OK );
39
40 require Exporter;
41
42 @ISA = qw( Exporter );
43
44
45 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
46
47
48 sub db_init
49 {
50     # Martin A. Hansen, May 2008.
51
52     # Initializes a Berkeley DB tied to a Perl hash.
53
54     my ( $path,   # path to BDB file.
55        ) = @_;
56
57     # Returns hashref
58
59     my ( %hash );
60
61     tie %hash, "DB_File", $path or Maasha::Common::error( "Could not tie-open DB file '$path': $!" );
62
63     return wantarray ? %hash : \%hash;
64 }
65
66
67 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
68
69
70 1;