#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @queryColumns = ( 'objId', 'objName', 'objFullName', 'objDescription', 'objType', 'objStatus', 'objPerfStatus' ); my @queryData = ( [ '1', '193.111.44.137', '193.111.44.137', '', 'Mgmt Station', 'Normal', 'Unknown' ], [ '2', '193.111.44.138', '193.111.44.138', '', 'Gas Station', 'Super', 'Well known' ] ); #Die Zieldatenstruktur: Ein Array of Hashes my @aoh; #Zeilenweise durch @queryData for my $i (0..$#queryData) { #Eine Tabellenzeile als Array my @rowArr = @{$queryData[$i]}; #Definiere Hash für eine Tabellenzeile my %rowHash; #Spaltenweise durch eine Tabellenzeile for my $j (0..$#rowArr) { #Spaltenname my $column = $queryColumns[$j]; #Wert my $value = $rowArr[$j]; #Zuordnung vom Wert zum Spaltenname $rowHash{$column}=$value; } #In die Zieldatenstruktur für jede Zeile ein Hashref push @aoh, \%rowHash; } print Dumper \@aoh;