Thread Ausgabe einer Zeile in Perl (18 answers)
Opened by Catherina at 2012-03-23 09:21

payx
 2012-03-26 10:28
#157031 #157031
User since
2006-05-04
564 Artikel
BenutzerIn

user image
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)

View full thread Ausgabe einer Zeile in Perl