Thread split in foreach?
(16 answers)
Opened by jemand at 2004-07-17 20:18
Ich habe mir das jetzt gerade noch einmal genauer durchgelesen (nachdem ich es mit "perltidy" richtig eingerueckt habe), und mir ist aufgefallen, dass Dein groesstes Problem wohl ist, dass ein Array mit n Elementen nicht von 1 bis n sondern von 0 bis n-1 indiziert ist. Du ignorierst also die erste Zeile. Und beim letzten Durchlauf steht $i auf $dat, jedoch existiert nach eben genanntem Argument kein Arrayelement mit Index $dat. Somit wird $out immer auf die Fehlermeldung gesetzt.
Taulmarill hat voellig recht. Wenn Du die Schleife nicht mit "last" verlaesst, sobald Du den richtigen Eintrag gefunden hast, wird $out wieder auf eine Fehlermeldung gesetzt. Ausserdem solltest Du beachten, dass jede Zeile am Ende ein \n hat, weswegen sich ein chomp anbietet. Hier noch mal alles in Kurzform: Code: (dl
)
1 my $out = "Nicht gefunden"; Hierbei wird $out am Anfang auf "Nicht gefunden" gesetzt. Fall tatsaechlich nichts gefunden wird, bleibt $out auf dieser Meldung stehen. Wahrscheinlich muss es auch $ud[0] und $ud[18] statt 1 und 19 heissen, denn auch dieses Array wird von 0 an gezaehlt.\n\n <!--EDIT|betterworld|1090097729--> Lieblingsmodule:
![]() ![]() |