Ask a Question related to PERL Miscellaneous, Design and Development.
-
Tom #1
dbm problem HELP!
I can write to, close aand reopen a dbm file with hashes of hasjed of hashes
and everything is OK.
Data I write is read back just fine.
However, when I run the program again later on and use the same exact code
to reopen the dbm, al the data is gone.
Here is a snippet of what I am doing:
dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
$stk = "ABC";
$datecode = "20030914";
$druntime = "700";
$data = "12345";
$nd{$stk}{$datecode}{$druntime}{Data} = $data;
dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
print "Data: $nd{$stk}{$datecode}{$druntime}{Data}\n";
dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
-------
Data: 12345
-------
However, if I rerun the script with just the following, I get this:
$stk = "ABC";
$datecode = "20030914";
$druntime = "700";
$data = "12345";
dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
print "Data: $nd{$stk}{$datecode}{$druntime}{Data}\n";
dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
Use of unitialized value in concatenation (.) at C: blah, blah, blah
Date:
Apparently, there is a problem accessing the dbm file, though it is there.
Any help would be greatly appreciated, thanks,
Tom
Tom Guest
-
contribute problem - access denied file may not existpermission problem
Recieving the following error message - "access denied file may not exist , or there could be a permission problem" this happened this morning ,... -
Problem playing Quicktime thru .DCR embedded in HTML - pathreferencing problem?
Greetings earthlings and Director heads. Here's the problem: created an HTML file containing shockwave (dcr) movie that calls quicktime movies in... -
Uploading problem = weird warning (was: access denied problem.....)
Hi, I had a problem where my upload form was not working on our production server but was working on two other servers, after checking the... -
#21611 [Opn]: Problem with version_compare() (Was: Problem with pear cli and release numbers)
ID: 21611 Updated by: et@php.net -Summary: Problem with pear cli and release numbers Reported By: jan at horde... -
Problem with Apache Web Server config file and PHP (please give advice on what problem may be me)
HI: Can anyone refer me to someone that can help with the problem below. I installed Apache Web Server on my laptop which has Windows XP. I... -
Tom #2
Re: dbm problem HELP!
when I just try to assign a sub hash to the top, it never gets assigned
regardless of which run, by the way.
"Tom" <tom@nosleep.net> wrote in message news:3f6548dc$1@nntp0.pdx.net...hashes> I can write to, close aand reopen a dbm file with hashes of hasjed of> and everything is OK.
> Data I write is read back just fine.
> However, when I run the program again later on and use the same exact code
> to reopen the dbm, al the data is gone.
>
> Here is a snippet of what I am doing:
>
> dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
>
> $stk = "ABC";
> $datecode = "20030914";
> $druntime = "700";
> $data = "12345";
>
> $nd{$stk}{$datecode}{$druntime}{Data} = $data;
>
> dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
>
> dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
> print "Data: $nd{$stk}{$datecode}{$druntime}{Data}\n";
> dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
>
> -------
> Data: 12345
> -------
>
> However, if I rerun the script with just the following, I get this:
>
> $stk = "ABC";
> $datecode = "20030914";
> $druntime = "700";
> $data = "12345";
>
> dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
> print "Data: $nd{$stk}{$datecode}{$druntime}{Data}\n";
> dbmclose (%nd) || die "Can't dbmclose $ndbfile: $!";
>
> Use of unitialized value in concatenation (.) at C: blah, blah, blah
> Date:
>
> Apparently, there is a problem accessing the dbm file, though it is there.
> Any help would be greatly appreciated, thanks,
> Tom
>
>
>
>
Tom Guest
-
Gunnar Hjalmarsson #3
Re: dbm problem HELP!
Tom wrote:
No you can't. A simple DBM file only stores keys and values, not> I can write to, close aand reopen a dbm file with hashes of hasjed
> of hashes and everything is OK.
complex data structures.
Sure. The problem is that what you read is not what you think you> Data I write is read back just fine.
read.
It was never stored in the DBM file.> However, when I run the program again later on and use the same
> exact code to reopen the dbm, al the data is gone.
At this point, you have the hash %nd in memory containing the key> Here is a snippet of what I am doing:
>
> dbmopen (%nd,$ndbfile,0666) || die "Can't dbmopen $ndbfile: $!";
>
> $stk = "ABC";
> $datecode = "20030914";
> $druntime = "700";
> $data = "12345";
>
> $nd{$stk}{$datecode}{$druntime}{Data} = $data;
'ABC' and a _hash reference_ as the value. However, the DBM file does
not save the hash reference; it just saves a _string_ that looks
something like 'HASH(0x1555198)'.
<snip>
No, that's not the problem. (See above.)> Apparently, there is a problem accessing the dbm file, though it is
> there.
--
Gunnar Hjalmarsson
Email: [url]http://www.gunnar.cc/cgi-bin/contact.pl[/url]
Gunnar Hjalmarsson Guest



Reply With Quote

