sub Doc_type_header{ open(DATEI, "<./Konfigurationsdaten/20060310.DOCFIELD") || die "Datei nicht gefunden"; my @Zeilen = ; close(DATEI); my $doc_type_header = shift; my $dokuart; my $zahl2; my $old_doc; my @headerarr; #Gehe Zeilen der Docfielddatei durch foreach (@Zeilen){ if (/([\w\$]+)\;(\d+)\;(\d+)\;/){ $dokuart = $1; $zahl2 = $3; if(!defined $old_doc){ $old_doc = $dokuart; } #wenn dokuart nicht mehr die gleiche wie im letzten durchlauf der froeach- #schleife speichere eine kopie des hashs in hash2 mit key alte dokuart und #leere danach wieder den hash um ihn für die nächste dokuart neu füllen zu können. if($dokuart ne $old_doc){ $doc_type_header->{$old_doc}= \@headerarr; my @headerarr =(); } #gehe Zeilen der Repository durch und speichere zahl und header in hash open(DATEI, "<./Konfigurationsdaten/20060310.REPOSITORY") || die "Datei nicht gefunden"; my @Zeilen2 = ; close(DATEI); foreach(@Zeilen2){ if(/^$zahl2;([^;]+);([^;]+)/){ push(@headerarr.$i,$2); } } } $old_doc = $dokuart; } }