stoner66 Geschrieben 11. September 2001 Teilen Geschrieben 11. September 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 11. September 2001 Teilen Geschrieben 11. September 2001 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 ------------------------------------- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
stoner66 Geschrieben 11. September 2001 Autor Teilen Geschrieben 11. September 2001 Thanx Hab mittlerweile alles am Laufen Stoner66 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BigMac Geschrieben 12. September 2001 Teilen Geschrieben 12. September 2001 Mit sprintf wäre das ganze auch ohne den Umweg über chomp gegangen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.