#!/user/bin/perl use strict; use warnings; # Modul zu lesen von CSV-Artigen Strukturen use Text::CSV; # Modul zur Ausgabe von Datenstrukturen use Data::Dumper; my $keys_file='keys.cfg'; my @val_files=qw(values1.csv values2.csv values3.csv); my $keys_in=Text::CSV->new({sep_char=>','}); open(my $fh, "<", $keys_file) or die("Error open $keys_file ($!)\n"); my $keys = $keys_in->getline($fh); close($fh); my $vals_in=Text::CSV->new({sep_char=>'|'}); my @values; for my $file (@val_files) { my @lines; open(my $fh, "<", $file) or die("Error open $file ($!)\n"); while(my $vals = $vals_in->getline($fh)) { my %line_data; for my $pos (0..$#$vals) { $line_data{$keys->[$pos]}=$vals->[$pos]; } push(@lines,\%line_data); } close($fh); push(@values,\@lines); } # Testausgabe: print Dumper(\@values);