in reply to Array of Hashes Issue

Before you get to using the data from the array you better figure out if what you have is what you expect. Consider:

use strict; use warnings; use Data::Dump::Streamer; my @questions; my %pending; for (qw(first second)) { $pending{answer} = $_; push @questions, %pending; } Dump \@questions;

Prints:

$ARRAY1 = [ 'answer', 'first', 'answer', 'second' ];

Probably

my @questions; for (qw(first second)) { my %pending; $pending{answer} = $_; push @questions, \%pending; } Dump \@questions;

which prints:

$ARRAY1 = [ { answer => 'first' }, { answer => 'second' } ];

is closer to what you might expect? Take note of the fact that the declaration for %pending is inside the loop so a new instance of the hash is created each time through the loop.


DWIM is Perl's answer to Gödel