MeinName has asked for the wisdom of the Perl Monks concerning the following question:
Dear Perl monks,
I have the following array of hashes (at least my Dumper says so):
$VAR1 = [ { 'textfeldMini' => ' ', 'fragebogen_id' => '4388', 'aktivitaet_da +ta_id' => '48541093', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854109 +1' }, { 'fragebogen_id' => '4389', 'aktivitaet_data_id' => '48541094', ' +zahlfeld' => '0.0', 'aktivitaetId' => '48541091' }, { 'fragebogen_id' => '4390', 'aktivitaet_data_id' => '48541095', ' +zahlfeld' => '0.0', 'aktivitaetId' => '48541091' }, { 'fragebogen_id' => '4391', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541096', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'fragebogen_id' => '4392', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541097', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'textfeldMini' => ' ', 'fragebogen_id' => '4393', 'aktivitaet_da +ta_id' => '48541098', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854109 +1' }, { 'textfeldMini' => 'k.A.', 'fragebogen_id' => '4394', 'aktivitaet +_data_id' => '48541099', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854 +1091' }, { 'fragebogen_id' => '4395', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541100', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'fragebogen_id' => '4396', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541101', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'fragebogen_id' => '4397', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541102', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'textfeldMini' => 'k.A.', 'fragebogen_id' => '4398', 'aktivitaet +_data_id' => '48541103', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854 +1091' }, { 'fragebogen_id' => '4399', 'textfeldStandard' => ' ', 'aktivitae +t_data_id' => '48541104', 'zahlfeld' => '0.0', 'aktivitaetId' => '485 +41091' }, { 'datumfeld' => '2000-01-01T00:00:00+01:00', 'fragebogen_id' => ' +4400', 'aktivitaet_data_id' => '48541105', 'zahlfeld' => '0.0', 'akti +vitaetId' => '48541091' }, { 'datumfeld' => '2000-01-01T01:00:00+01:00', 'fragebogen_id' => ' +4401', 'aktivitaet_data_id' => '48541106', 'zahlfeld' => '0.0', 'akti +vitaetId' => '48541091' }, { 'textfeldClob' => ' ', 'fragebogen_id' => '4402', 'aktivitaet_da +ta_id' => '48541107', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854109 +1' }, { 'textfeldClob' => ' ', 'fragebogen_id' => '4403', 'aktivitaet_da +ta_id' => '48541108', 'zahlfeld' => '0.0', 'aktivitaetId' => '4854109 +1' } ];
and I would like to foreach-loop through it like so:
1136 foreach my $data (@aktData) 1137 { 1138 if ($data->{'fragebogen_id'} == $feedbackId) 1139 { 1140 #doStuff 1141 } 1142 }
but I get an error "Not a HASH reference at ... line 1138".
I did a Dumper print on @aktData as well as $data and both times I get this hash array as output, which means the error message is accurate, but I have no clue, why $data is not one element of my array, but the whole array itself.
Can somebody please help me with this?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Cannot use foreach on array of hashes
by hippo (Archbishop) on Dec 18, 2019 at 10:17 UTC | |
by MeinName (Novice) on Dec 18, 2019 at 10:58 UTC | |
by tobyink (Canon) on Dec 18, 2019 at 13:03 UTC | |
by haukex (Archbishop) on Dec 18, 2019 at 11:23 UTC | |
|
Re: Cannot use foreach on array of hashes
by BillKSmith (Monsignor) on Dec 18, 2019 at 15:05 UTC |