11. September 200124 j Hallo zusammen, kann mir vielleicht jemand sagen, wie ich Strings so formatiere, dass sie keinen Zeilenumbruch bei der Ausgabe in eine Datei erzeugen!? Der Code sieht wie folgt aus: <schnipp> printf OUTPUT ("%s %s %6D %6D %6D %6D\n",$name,$time,$enq,$deq,$highd,$reset); <schnapp> Und das Ergebnis: <schnipp> VMN.SMQSI.ALL.IDOC 2001-09-10 00:00:01 0 0 0 3600 <schnapp> Ich hätte aber gerne alles in einer Zeile! Wie krieg ich das hin? :confused: Gruß, Stoner66
11. September 200124 j Hallo, versuchs mal mit: printf OUTPUT ("%s %s %6D %6D %6D %6D\n",chomp($name),chomp($time),chomp($enq),chomp($deq),chomp($highd),chomp($reset)); Gruß Jaraz ----------------------------------- Perl Manual ----------------------------------- Funktionen chop() Abschneiden des letzten Zeichens Hiermit wird das letzte Zeichen vom übergebenen String entfernt und als Funktionswert zurückgegeben. #!/usr/local/bin/perl -w $a = 'Perl'; chop($a); print $a; Per Meistens wird chop dazu verwendet, den Zeilenvorschub am Ende einer Zeile abzuschneiden; hierfür eignet sich jedoch chomp() besser. chomp() Abschneiden von Eingabetrennzeichen Standardmäßig entfernt chomp() einen Zeilenvorschub ("\n") am Ende eines Strings, sofern ein solcher vorhanden ist und gibt die Anzahl der abgeschnittenen Zeichen zurück. chomp() sollte insbesondere dann gegenüber chop() bevorzugt werden, wenn nicht ganz sicher ist, ob die Zeichenkette am Ende einen Zeilenvorschub besitzt oder nicht. Eigentlich entfernt chomp() die Zeichenkette am Ende eines Strings, die in der Variablen $/ steht (Standardwert: \n). Ist $/ leer, so werden alle Zeilenvorschübe abgeschnitten. #!/usr/local/bin/perl -w $string = "Hallo\n"; chomp($string); # Abschneiden von \n $string = "Hallo"; chomp($string); # keine Änderung von $string $/ = 'lo'; $string = "Hallo"; chomp($string); # $string ist nun "Hal" $/ = ''; $string = "Hallo\n\n\n"; chomp($string); # Entfernen aller \n ------------------------------------- Ende Manual -------------------------------------
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.