Thread Ausgabe einer Zeile in Perl
(18 answers)
Opened by Catherina at 2012-03-23 09:21
Hallo Catherina,
wie pq schon sagte, sollten wir "Zeile" nur gebrauchen, wenn wir wirklich genau eine Zeichenkette mit Zeilenumbruch – \n o.ä. (oder End-Of-File) – meinen. Anderenfalls sagen wir besser "Datensatz". Ich nehme also mal an, Du meinst, Du willst genau einen Datensatz ausgeben. Welchen? Den ersten? Um bei meinem Ansatz zu bleiben: Du könntest beispielsweise in der while-Schleife eine Prüfung einbauen, die den Datensatz nur dann zurückgibt, wenn er der soundsovielte ist. Zeile 8 in meinem Beispiel hieße dann z.B. Code (perl): (dl
)
print $_ if $. == 2; Zur Erläuterung: $. ist der Datensatzzähler beim Dateieinlesen. Durch die von mir gebrauchte Vorgehensweise mit "====> " als Datensatztrenner (also als Zeichenkette, die das Ende eines Datensatzes markiert) ist der erste Datensatz leer, denn der Trenner taucht ja erstmals gleich am Anfang auf. mit $. == 2 bekommst Du also den ersten gefüllten Datensatz. NB: Optimaler Code ist das natürlich nicht, es geht nur darum, einen möglichen Ansatz (von mehreren) zu zeigen. Und nochmals: Dieser Ansatz ist jedenfalls nur dann möglicherweise sinnvoll, wenn die Datensätze wirklich Zeilenumbrüche enthalten, was ja vielleicht gar nicht der Fall ist(?). Außerdem müssten dann wirklich alle Datensätze genau durch "====> " getrennt sein, klar. HTH Grüße payx Editiert von payx: stilistische Korrektur Editiert von payx: Catherina mit e, nicht mit a, pardon. Last edited: 2012-03-26 12:12:27 +0200 (CEST) |