> Programming Languages > Perl
Various Topics Home | Disclaimer | Report Adult Posts

Various Topics on Perl



Perl - "Array of Hashes ?" in Programming Languages


Old 11-17-2004   #1
..m
 
Default Array of Hashes ?

Well, I am a beginner as far as perl is concerned.
Can some one point me that 'm doing is correct.
I have pasted below my hash and array using Data:umper()

I am pushing Hash1, Hash2 in to an Array
I don't see => when 'm priting the Array using Data:umper()

By looking at the dump can someone ascertain if I have formed an Array
of Hashes or not?



--------------------------------



Tom> Hash 1:
$VAR1 = {
'1' => [
'0'
],
'0' => [
'0'
],
'TestCase' => [
'PC_Battery'
]
};

Tom> Hash 2:
$VAR1 = {
'1' => [
'0'
],
'0' => [
'0'
],
'2' => [
'0'
],
'TestCase' => [
'PC_Something'
]
};

Tom> Array of Hashes: (?)
$VAR1 = [
[
'1',
[
'0'
],
'0',
[
'0'
],
'TestCase',
[
'PC_Battery'
]
],
[
'1',
[
'0'
],
'0',
[
'0'
],
'2',
[
'0'
],
'TestCase',
[
'PC_Something'
]
]
];
---------------------------------------------------
 
Old 11-17-2004   #2
..ti.. ..p..
 
Default Re: Array of Hashes ?

X-Ftn-To: Tom

sudhirx@gmail.com (Tom) wrote:
>Well, I am a beginner as far as perl is concerned.
>Can some one point me that 'm doing is correct.
>I have pasted below my hash and array using Data:umper()
>
>I am pushing Hash1, Hash2 in to an Array
>I don't see => when 'm priting the Array using Data:umper()
>
>By looking at the dump can someone ascertain if I have formed an Array
>of Hashes or not?


No, you didn't. What do you want to accomplish?



--
Matija
 
Old 11-17-2004   #3
.. ..n.. ....
 
Default Re: Array of Hashes ?

sudhirx@gmail.com (Tom) wrote in
news:f50c52fa.0411170859.ed4643f@posting.google.co m:

> Well, I am a beginner as far as perl is concerned.
> Can some one point me that 'm doing is correct.
> I have pasted below my hash and array using Data:umper()
>
> I am pushing Hash1, Hash2 in to an Array


comp.lang.perl.mindreadres is down the hall to your right.

> I don't see => when 'm priting the Array using Data:umper()


Have you read

perldoc perldsc

Sinan
 
Old 11-17-2004   #4
.... ..l..
 
Default Re: Array of Hashes ?

"Tom" <sudhirx@gmail.com> wrote in message
news:f50c52fa.0411170859.ed4643f@posting.google.co m...
> Well, I am a beginner as far as perl is concerned.
> Can some one point me that 'm doing is correct.
> I have pasted below my hash and array using Data:umper()
>
> I am pushing Hash1, Hash2 in to an Array
> I don't see => when 'm priting the Array using Data:umper()


I really don't understand what any of this means.

> By looking at the dump can someone ascertain if I have formed an Array
> of Hashes or not?


Afraid not. See below.

>
> Tom> Hash 1:
> $VAR1 = {
> '1' => [
> '0'
> ],
> '0' => [
> '0'
> ],
> 'TestCase' => [
> 'PC_Battery'
> ]
> };



Here, $VAR1 is a reference to a hash with three key/value pairs. The
keys are '0', '1', and 'TestCase'. Each value of the hash in a
reference to an array that contains one element each.

> Tom> Hash 2:
> $VAR1 = {
> '1' => [
> '0'
> ],
> '0' => [
> '0'
> ],
> '2' => [
> '0'
> ],
> 'TestCase' => [
> 'PC_Something'
> ]
> };
>


Same exact thing, but with an extra key/value pair in the hash.

> Tom> Array of Hashes: (?)
> $VAR1 = [
> [
> '1',
> [
> '0'
> ],
> '0',
> [
> '0'
> ],
> 'TestCase',
> [
> 'PC_Battery'
> ]
> ],



There is no hash in here anywhere. You have an array of array
references. The first element in the overall array is an array
reference. That array contains the values: 1, (a reference to an array
containing 0), 0, (a reference to another array containing 0),
'TestCase', and (a reference to an array containing 'PC_Battery')

At this point, it would be helpful to see your code so we can help you
see where you went wrong in creating an array where you thought you were
creating a hash.

Paul Lalli

 
Old 11-17-2004   #5
..om.. ..a..
 
Default Re: Array of Hashes ?

Tom wrote:
> Well, I am a beginner as far as perl is concerned.
> Can some one point me that 'm doing is correct.
> I have pasted below my hash and array using Data:umper()
>
> I am pushing Hash1, Hash2 in to an Array


No. The data you posted shows that you pushed two anonymous arrays
containing the flattened hashes into the array.

I ***ume you did:

push @Array, [%Hash1];
push @Array, [%Hash2];

Try to push *references* to Hash1 and Hash2 to the Array like so:

push @Array, \%Hash1;
push @Array, \%Hash2;

See perldoc perlreftut

Next time post real code.
And please have a look at the posting guidelines.

Thomas

--
$/=$,,$_=<DATA>,s,(.*),$1,see;__END__
s,^(.*\043),,mg,@_=map{[split'']}split;{#>J~.>_an~>>e~......>r~
$_=$_[$%][$"];y,<~>^,-++-,?{$/=--$|?'"':#..u.t.^.o.P.r.>ha~.e..
'%',s,(.),\$$/$1=1,,$;=$_}:/\w/?{y,_, ,,#..>s^~ht<._..._..c....
print}:y,.,,||last,,,,,,$_=$;;eval,redo}#.....>.e. r^.>l^..>k^.-
 
Old 11-18-2004   #6
..t.. ....
 
Default Re: Array of Hashes ?

"A. Sinan Unur" <1usa@llenroc.ude.invalid> wrote in message
news:Xns95A47DA443544asu1cornelledu@132.236.56.8.. .
> sudhirx@gmail.com (Tom) wrote in
> news:f50c52fa.0411170859.ed4643f@posting.google.co m:
>
>> Well, I am a beginner as far as perl is concerned.
>> Can some one point me that 'm doing is correct.
>> I have pasted below my hash and array using Data:umper()
>>
>> I am pushing Hash1, Hash2 in to an Array

>
> comp.lang.perl.mindreadres is down the hall to your right.
>
>> I don't see => when 'm priting the Array using Data:umper()

>
> Have you read
>
> perldoc perldsc


Actually, that reminds me. It's probably time that doc got updated. My
copy (Perl 5.8.3) was written in 1996 and makes ***ertions about inability
to write complex data representations to disk which have been well fixed by
Storable.

Who would handle that?

--
Wyzelli
print "oh how nice\n";


 
Old 11-18-2004   #7
..n ..rr..
 
Default Re: Array of Hashes ?


Quoth "Peter Wyzl" <wyzelli@yahoo.com>:
> "A. Sinan Unur" <1usa@llenroc.ude.invalid> wrote in message
> news:Xns95A47DA443544asu1cornelledu@132.236.56.8.. .
> > sudhirx@gmail.com (Tom) wrote in
> > news:f50c52fa.0411170859.ed4643f@posting.google.co m:
> >
> >> Well, I am a beginner as far as perl is concerned.
> >> Can some one point me that 'm doing is correct.
> >> I have pasted below my hash and array using Data:umper()
> >>
> >> I am pushing Hash1, Hash2 in to an Array

> >
> > comp.lang.perl.mindreadres is down the hall to your right.
> >
> >> I don't see => when 'm priting the Array using Data:umper()

> >
> > Have you read
> >
> > perldoc perldsc

>
> Actually, that reminds me. It's probably time that doc got updated. My
> copy (Perl 5.8.3) was written in 1996 and makes ***ertions about inability
> to write complex data representations to disk which have been well fixed by
> Storable.
>
> Who would handle that?


Send a patch to p5p (perl5-porters@perl.org, or
nntp://nntp.perl.org/perl.perl5.porters).

Ben

--
"The Earth is degenerating these days. Bribery and corruption abound.
Children no longer mind their parents, every man wants to write a book,
and it is evident that the end of the world is fast approaching."
-***yrian stone tablet, c.2800 BC ben@morrow.me.uk
 

Thread Tools
Display Modes





Powered by vBulletin®
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0