Thread einlesen bearbeiten und ausgeben (72 answers)
Opened by Gast at 2008-08-21 12:29

Gast Gast
 2008-08-22 11:29
#113879 #113879
no such file or directory at flurstueck.pl line 51, <> line 25.

sagts nu ;) was mache ich da falsch?


und noch eine frage ich habe da jetzt was geändert und zwar sieht das ganze jetzt so aus :
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$hash{AL}="052001";
$hash{AB}="052003";
$hash{HX}="052363";
$hash{BRE}="052324";
#Um switch anweisung zu benutzen
use Switch;
# Eingabedatei öffnen
# Ausgabedatei-normalfälle öffnen
# Ausgabedatei-sonderfälle öffnen

#schleife
while(<>){ # Eingabedatei zeilenweise lesen
chop;
$org=$_;
@array=split;
# $array[0]: Gemarkungsbezeichnung 
# $array[1]: "FL"
# $array[2]: Flur nummer 
# $array[3]: "NR" 
# $array[4]: Flurstücksnummer (z.B. 42 oder 260/285)

$Gemarkungsnummer=$hash{$array[0]};
$Flurnummer=$array[2]; 
$Flurstuecksnummer=$array[4]; # aufsplitten in Zaehler und Nenner
($Flurstuecksnummerzaehler,$Flurstuecksnummernenner)=split ("/",$Flurstuecksnummer); # aufsplitten in Zaehler und Nenner


#schaut ob im string ein "+" vorkommt, wenn ja wird das "+" durch "+0" getauscht
if ($array[2] =~ "\\+"){
$array[2] =~ s/\+/\+0/;
}

#abfrage ob im String "NR" vorkommt
if($array[4] != "NR")
{
# print "$_     $hash{$array[0]}-0$array[2]-$nullen$array[4]/000.00 $array[5] $array[6] $array[7]\n";
printf "%s\t%s-%03u-%05u/%03u.00\t \n", $org, $Gemarkungsnummer, $Flurnummer, $Flurstuecksnummerzaehler, $Flurstuecksnummernenner;
}
else
{
#print "$_     $hash{$array[0]}-0$array[2]\n";
printf "%s\t%s-%03u \n", $org, $Gemarkungsnummer, $Flurnummer, $Flurstuecksnummerzaehler, 
}
        #print "$_\n";
}

open(my $fhFertig, "<Fertig.txt") or die $!;

while(<>) {

   print $fhFertig $_;

} # while

close($fhFertig) or die $!;



jetzt habe ich das problem das es zum beispiel bei
HX FL 7 NR 115 116 nur
052363-007-00115/000.00 anzeigt
es soll mir hierbei aber auch 00116 anzeigen.
ich denke mir mal das ich dann das array 5 nochmal spliten muss und zwar da wo das leerzeichen ist oder? wenn ja wie funktioniert das? wenn nein wie dann?

View full thread einlesen bearbeiten und ausgeben