in reply to Re^3: Adding an element to an array
in thread Adding an element to an array

I'm getting this:
Not a HASH reference at ...

Replies are listed 'Best First'.
Re^5: Adding an element to an array
by poj (Abbot) on Oct 15, 2015 at 16:12 UTC

    How are you creating @data ?
    poj

      This way:
      my @data; foreach my $rdata ( @{ $sqldata } ) { push @data, [ $rdata->{'NAME'}, $rdata->{'HOME'}, ... ]; }

        Your error is because @data is an array of ARRAY references not HASH references. Try

        my %homes_by_names=(); my @data=(); foreach my $rdata ( @{ $sqldata } ) { ++$homes_by_names{ $rdata->{'NAME'} }; push @data,$rdata; } foreach my $row ( @data ) { $row->{'HOME_COUNT'} = $homes_by_names{ $row->{ NAME } }; } print Dumper \@data;
        poj