# ich benutze lieber eine Variable als FH my $hTempFile; open($hTempFile, '<', $tempfile) || die "Error: $!"; # dieser Kundenname wird benutzt, falls Kundendaten vor # --- Kundenname: gefunden werden my $blockname = "default"; # und wir nehmen einen Zähler für die Kundendaten my $counter = -1; # $_ finde ich nicht so schön while my$line (<$hTempFile>) { # Leerzeilen überspringen next if $line =~ /^\s*$/; # jetzt kannst du auf einen Kunden prüfen if ($line =~ /^\s*---\s*Kundenname:\s*(.+?)\s*$/) { $counter = -1; $blockname = $1; $kundenInfoHash{$blockname} = [] if ! exists($kundenInfoHash{$blockname}); } # oder eben auf Daten elsif ($line =~ /^\s*(.+?)\s*$/) { my $daten = $1; $counter++; $kundenInfoHash{$blockname}->[$counter] = $daten; } } close($hTempFile); # close TEMP-FILE