Thread Hilfe beim Arbeiten mit Arrays
(2 answers)
Opened by jan999 at 2009-04-26 08:52
HI !
ich habe ein einfaches Tool das ich mir etwas anpassen möchte und irgendwie komme ich nicht weiter - trotz lesens kommt nicht das erwartete. Zuerst etwas zum Vorablauf: Es wird eine CSV-Datei mit Name, Straße, PLZ und Ort eingelesen und aufgesplittet: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 sub ReadPOIData { open( IN, $go_POIFileName ) or die( "$go_POIFileName: $!" ); while( <IN> ) { chomp; my @tmp = split( /;/ ); # $g_POIRead{ lc($tmp[0]) } = $_; $g_POIRead{ lc($tmp[0]) } = [@tmp]; } close( IN ); } In einer zweiten Funktion werden dann nur Namen importiert und in einem Array $g_NeedKeys hinterlegt. In einem der nächsten Schritte wird geprüft, ob es Übereinstimmungen zwischen den beiden oben genannten Arrays durchgeführt: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 sub CheckNotInNeed { foreach my $found ( keys %g_POIRead ) { unless( $g_NeedKeys{ $found } ) { push( @g_POINewer, $found ); } } } In dem vorliegenden Tool werden die Werte aus @g_POINewer einfach ausgegeben: Code (perl): (dl
)
print join( "\n", @g_POINewer), "\n"; Ich möchte aber die zugehörigen Daten (Straße, PLZ, Ort) der Elemente aus @g_POINewer mit ausgeben und habe folgendes mir zusammengebastelt: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 foreach $schluessel (@g_POINewer) { print "Schluessel: ".$schluessel."\n"; my @value = $g_POIRead{ $schluessel }; print "Value0: ".@value(0)."\n"; print "Value1: ".@value(1)."\n"; print "Value2: ".@value(2)."\n"; print "Value3: ".@value(3)."\n"; print "Value4: ".@value(4)."\n"; } Es kommt aber nicht das erwartete - stattdessen: Quote Kann mir einer sagen wo bei mir noch der Stein auf der Denkleitung steht ?? Gruß Jan :-) |