#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# in welchem Verzeichnis willst du suchen
my $workdir='/hier/pfad/zum/verezeichnis';
# da rein kommen alle Datensätze
my %datensaetze;
# Verzeichnis öffnen
opendir(my $dir, $workdir) or die "Konnte Verzeichnis $workdir nicht oeffnen ($!)\n";
# Dateinamen einzeln auslesen
while(my $dat=readdir($dir))
{
# ist es wirklich eine Datei?
if(-f "$workdir/$dat")
{
# Datei öffnen
open(my $in, '<', "$workdir/$dat") or die "konnte Datei $workdir/$dat nicht oeffnen ($!)\n";
# Namen für den Hash generieren
$dat=~s/^(.+?)\..+$/$1/s;
# wenn noch kein hasheintrag mir dem Namen existiert einen erzeugen
$datensaetze{$dat}={} unless (exists($datensaetze{$dat}));
# Datei Zeilenweise auslesen
while(my $line=<$in>)
{
# Zeilrnumbruch entfernen
chomp($line);
# Zeile aufsplitten
my ($name,$wert)=split(/\s*,\s*/,$line,2);
# Daten in den Hash schreiben
$datensaetze{$dat}{$name}=$wert;
}
# Datei schließen
close ($in);
}
}
# Verzeichnis schließen
closedir($dir);
# alles gefundenen ausgeben
print Dumper(\%datensaetze)."\n";