Re: Hashes of Hashes
- From: krahnj@xxxxxxxxx (John W. Krahn)
- Date: Fri, 29 Dec 2006 09:19:02 -0800
Jason Malburg wrote:
Hi,
Hello,
I'm working on a complex data structure with hashes of hashes and
hashes of arrays and I noticed a weird behavior I was hoping someone
could explain.
Put these two lines at the beginning of your program:
use warnings;
use strict;
and perl will tell you what is wrong.
Here's a sample:
$Data{US17}{1}{GROUP} = "STRING";
$Data{US17}{1}{GROUP}{.001} = 5;
$Data{US17}{1}{GROUP}{.002} = 6;
$Data{US17}{1}{GROUP}{.003} = 7;
The scalar $Data{US17}{1}{GROUP} can only hold either a string or a reference,
not both.
$ perl -le'
use warnings;
use strict;
use Data::Dumper;
my %Data;
$Data{US17}{1}{GROUP} = "STRING";
$Data{US17}{1}{GROUP}{.001} = 5;
$Data{US17}{1}{GROUP}{.002} = 6;
$Data{US17}{1}{GROUP}{.003} = 7;
print Dumper \%Data;
'
Can't use string ("STRING") as a HASH ref while "strict refs" in use at -e line 7.
$ perl -le'
use Data::Dumper;
my %Data;
$Data{US17}{1}{GROUP} = "STRING";
$Data{US17}{1}{GROUP}{.001} = 5;
$Data{US17}{1}{GROUP}{.002} = 6;
$Data{US17}{1}{GROUP}{.003} = 7;
print Dumper \%STRING, \%Data;
'
$VAR1 = {
'0.002' => 6,
'0.003' => 7,
'0.001' => 5
};
$VAR2 = {
'US17' => {
'1' => {
'GROUP' => 'STRING'
}
}
};
John
--
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order. -- Larry Wall
.
- References:
- Hashes of Hashes
- From: Jason Malburg
- Hashes of Hashes
- Prev by Date: Re: Hashes of Hashes
- Next by Date: Re: Hashes of Hashes
- Previous by thread: Re: Hashes of Hashes
- Next by thread: perl extracting substrings from string
- Index(es):
Relevant Pages
|