Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

'tie' in a module, but having trouble fetching

by hiseldl (Priest)
on May 28, 2003 at 04:13 UTC ( [id://261205]=perlquestion: print w/replies, xml ) Need Help??

hiseldl has asked for the wisdom of the Perl Monks concerning the following question:

I'm writing a module using DB_File. The data seems to get saved to the file 'test.db' but fetching or Data::Dumper() the file doesn't seem to dump the data. Here's what I have so far:

package SubscriberList; use strict; use warnings; use vars qw($VERSION); $VERSION = '0.01'; use Data::Dumper; use DB_File; use Storable qw(freeze thaw); sub new { my ($class,%args) = @_; # get args my $this; $this->{filename} = $args{filename}; tie %{$this->{db}}, 'DB_File', $this->{filename}; bless $this, $class; return $this; } sub DESTROY { my ($this) = @_; untie %{$this->{db}}; } sub add_subscriber { my ($this,%new_sub) = @_; my $email = $new_sub{email}; delete $new_sub{email}; $this->{db}->{$email} = freeze \%new_sub; return $this; } 1;
...and here is the test script to add an entry:
# test.pl use SubscriberList; $list = new SubscriberList(filename=>'test.db'); $list->add_subscriber( email=>'new@email.com', first_name => 'New', last_name => 'Subscriber', ); $list->add_subscriber( email=>'jar@jar.com', first_name => 'JarJar', last_name => 'Binks', );
...and here is the code that dumps the seemingly empty data file:
use Data::Dumper; use DB_File; tie %hash, 'DB_File', 'test.db'; print Dumper(\%hash); ############ Ouput $VAR1 = {};
The 'test.db' file seems to have data in it because when I run it through the command 'strings' all the values seem to be there.

Any suggestions? (besides go to bed and try agian tomorrow? ;-)

Cheers!

--
hiseldl
What time is it? It's Camel Time!

Replies are listed 'Best First'.
Re: 'tie' in a module, but having trouble fetching
by PodMaster (Abbot) on May 28, 2003 at 04:22 UTC
    What happens if you can't tie the file?
    Heard of the untie gotcha? Read perltie.


    MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
    I run a Win32 PPM repository for perl 5.6x+5.8x. I take requests.
    ** The Third rule of perl club is a statement of fact: pod is sexy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://261205]
Approved by djantzen
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2024-04-24 01:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found