Array of Hashes ?

Discussion in 'Perl Misc' started by Tom, Nov 17, 2004.

  1. Tom

    Tom Guest

    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::Dumper()

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

    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'
    ]
    ]
    ];
    ---------------------------------------------------
    Tom, Nov 17, 2004
    #1
    1. Advertising

  2. Tom

    Matija Papec Guest

    X-Ftn-To: Tom

    (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::Dumper()
    >
    >I am pushing Hash1, Hash2 in to an Array
    >I don't see => when 'm priting the Array using Data::Dumper()
    >
    >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
    Matija Papec, Nov 17, 2004
    #2
    1. Advertising

  3. (Tom) wrote in
    news::

    > 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::Dumper()
    >
    > 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::Dumper()


    Have you read

    perldoc perldsc

    Sinan
    A. Sinan Unur, Nov 17, 2004
    #3
  4. Tom

    Paul Lalli Guest

    "Tom" <> wrote in message
    news:...
    > 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::Dumper()
    >
    > I am pushing Hash1, Hash2 in to an Array
    > I don't see => when 'm priting the Array using Data::Dumper()


    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
    Paul Lalli, Nov 17, 2004
    #4
  5. Tom

    Thomas Kratz Guest

    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::Dumper()
    >
    > 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 assume 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^.-
    Thomas Kratz, Nov 17, 2004
    #5
  6. Tom

    Peter Wyzl Guest

    "A. Sinan Unur" <> wrote in message
    news:Xns95A47DA443544asu1cornelledu@132.236.56.8...
    > (Tom) wrote in
    > news::
    >
    >> 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::Dumper()
    >>
    >> 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::Dumper()

    >
    > 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 assertions 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";
    Peter Wyzl, Nov 18, 2004
    #6
  7. Tom

    Ben Morrow Guest

    Quoth "Peter Wyzl" <>:
    > "A. Sinan Unur" <> wrote in message
    > news:Xns95A47DA443544asu1cornelledu@132.236.56.8...
    > > (Tom) wrote in
    > > news::
    > >
    > >> 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::Dumper()
    > >>
    > >> 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::Dumper()

    > >
    > > 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 assertions 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 (, 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."
    -Assyrian stone tablet, c.2800 BC
    Ben Morrow, Nov 18, 2004
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ben Holness

    Hashes of Hashes via subs

    Ben Holness, Oct 5, 2003, in forum: Perl
    Replies:
    8
    Views:
    559
    Ben Holness
    Oct 8, 2003
  2. Steven Arnold

    using hashes as keys in hashes

    Steven Arnold, Nov 23, 2005, in forum: Ruby
    Replies:
    3
    Views:
    159
    Mauricio Fernández
    Nov 23, 2005
  3. kazaam
    Replies:
    12
    Views:
    267
    Matthias Wächter
    Sep 13, 2007
  4. Matt Brooks
    Replies:
    16
    Views:
    226
    Matt Brooks
    Sep 16, 2009
  5. Tim O'Donovan

    Hash of hashes, of hashes, of arrays of hashes

    Tim O'Donovan, Oct 27, 2005, in forum: Perl Misc
    Replies:
    5
    Views:
    208
Loading...

Share This Page