#!/usr/bin/perl use strict; use warnings; use Data::Dumper; #Variablen definieren (erforderlich bei strict) my @queryColumns; my @queryData; #Daten aus File (hier: s.u. ab __DATA__ ) einlesen my @data = ; #Erste und letzte Zeile entfernen (hauruck-Lösung) shift @data; pop @data; #Daten als Programmcode verarbeiten. eval("@data") or die $!; #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; #Die Daten, die natürlich auch aus einem File kommen könnten __DATA__ [@Liste] @queryColumns = ( 'objId', 'objName', 'objFullName', 'objDescription', 'objType', 'objStatus', 'objPerfStatus' ); @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' ] ); [/Liste]