Thread split() (10 answers)
Opened by taikahn22 at 2008-04-05 15:13

murphy
 2008-04-05 15:25
#107908 #107908
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
taikahn22+2008-04-05 13:13:34--
[...] Und zwar möchte ich aus einer Textdatei mit dem Inhalt

key11=val11,key12=val12,key13=val13,key14=val14

die Daten auslesen [...]

Code: (dl )
1
2
3
[...]
($key,$value)=split(/,/);
[...]


Als Ausgabe bekomme ich aber immer nur key11=val11 key12=val12...Wie kann das sein?


Das kann sein, weil es genau das ist, was Du Deinem Rechner befohlen hast ;-)

Quote
Wo ist der Rest?


Nach Deinen Beispieldaten zu schließen, enthält Deine Eingabedatei nur eine Zeile, weshalb Deine while-Schleife auch nur ein einziges mal durchlaufen wird. Mit der split-Anweisung zerlegst Du nun diese eine Zeile in Teile, die durch ',' voneinander getrennt sind. Von der resultierenden Liste weist Du die ersten zwei Element den Variablen $key und $value zu.

Quote
Wieso macht die Funktion nicht mehr? [...]


Sie tut genau das, wozu sie gedacht ist und was in der Dokumentation steht ;-)

Ich vermute, Du möchtest eigentlich split zweimal verwenden: Einmal um die Eingabe an Kommata aufzuteilen und einmal um die Teile an '=' aufzuteilen. Du musst also auch zwei Schleifen schachteln: Eine über die Eingabe und eine über die Resultate des ersten split-Aufrufes...
When C++ is your hammer, every problem looks like your thumb.

View full thread split()