#! usr/bin/perl use strict; use warnings; my %hash; $hash{AL}="052001"; $hash{AB}="052003"; $hash{HX}="052363"; $hash{BRE}="052324"; if(@ARGV<2) { die "Bitte wie folgt aufrufen:\n $0 \n"; } my $eingabe_datei=$ARGV[0]; my $ausgabe_datei=$ARGV[1]; # Eingabedatei öffnen open( my $rein, '<', $eingebe_datei) or die "Konnte $eingabe_datei nicht oeffnen ($!)\n"; # Ausgabedatei öffnen open( my $raus, '>', $ausgabe_datei) or die "Konnte $ausgabe_datei nicht oeffnen ($!)\n"; #schleife while(my $zeile= <$rein>) { # Eingabedatei zeilenweise lesen # \n entfernen # (chop entfernt das letzte Zeichen, # das muss aber nicht \n sein...) chomp($zeile); my @array=split($zeile); # $array[0]: Gemarkungsbezeichnung # $array[1]: "FL" # $array[2]: Flur nummer # $array[3]: "NR" # $array[4]: Flurstücksnummer (z.B. 42 oder 260/285) my $Gemarkungsnummer=$hash{$array[0]}; my $Flurnummer=$array[2]; my $Flurstuecksnummer=$array[4]; # aufsplitten in Zaehler und Nenner my ($Flurstuecksnummerzaehler,$Flurstuecksnummernenner)=split ("/",$Flurstuecksnummer); # aufsplitten Zaehler und Nenner #tausche "+" durch "+0" $array[2] =~ s/\+/+0/g; #abfrage ob im String "NR" vorkommt if($array[4] ne "NR") { # print "$zeile $hash{$array[0]}-0$array[2]-$nullen$array[4]/000.00 $array[5] $array[6] $array[7]\n"; printf $raus "%s\t%s-%03u-%05u/%03u.00\t \n", $org, $Gemarkungsnummer, $Flurnummer, $Flurstuecksnummerzaehler, $Flurstuecksnummernenner; } else { #print "$zeile $hash{$array[0]}-0$array[2]\n"; printf $raus "%s\t%s-%03u \n", $org, $Gemarkungsnummer, $Flurnummer, $Flurstuecksnummerzaehler, } #print "$zeile\n"; } close($raus); close($rein);