From:                   "Frank Naude" <[EMAIL PROTECTED]>
To:                     <[EMAIL PROTECTED]>
Subject:                RE: WELCOME to [EMAIL PROTECTED]
Date sent:              Tue, 31 Dec 2002 15:39:55 +0200

How's this related to the welcome message???

> Can somebody please help me to get this code fixed? Since I've moved
> the DB_File "tie" and "untie" functions to sub's, data is never
> written to the database. I've tried both call-by-refeence and
> call-by-value methods without any luck.
> 
> use strict;
> use DB_File;
> sub openDB {
>   my %db;
>   tie(%db,'DB_File',"db",O_CREAT|O_RDWR,0666);
>   return \%db;
> }
> sub closeDB {
>    # my $parm = shift;
>    my ($parm) = @_;
>    my %db = %$parm;
>    untie(%db);
> }
> # Write data to DB...
> my $z1 = openDB;
> my %x1 = %$z1;

You've just created a new hash and copied all data from the tied hash 
to this new one. But the new one is NOT tied to anything!

You should keep using the reference:

my $z1 = openDB;
$z1->{'A'} = "B";

And the closeDB() has the same problem. It should look like this:

sub closeDB {
   # my $parm = shift;
   my ($parm) = @_;
   untie(%$parm);
}

HTH, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to