Thread Zeilen auffüllen bis feste Länge
(9 answers)
Opened by leo11 at 2008-11-14 19:49
Ich muss nochmal nachhaken.
Das erste Ergebnis war wie folgt: xxxxxqweqwe qwewe xxxxxxxxxxxx332 234 D.h. das X wurde am Zeilenbeginn eingefügt. Ursache scheinen hier die Zeilenumbrüche zu sein. Mein Editor zeigt mir Windowsumbrüche an. Nach einigen Experimenten mit chomp und $/ führte nur folgendes zum gewünschten Ergebnis Code (perl): (dl
)
1 2 3 4 5 6 7 #!/usr/bin/perl -wlni s/\n//; $/="\r"; chomp; if (length($_)>1) { print substr($_."X" x 100, 0, 100) } Leider aber nur beim ersten Durchgang. Führe ich das Skript nochmal aus löscht es komplette Zeilen.Ich hab auch mal folgendes probiert: Code (perl): (dl
)
1 2 3 4 5 6 #!/usr/bin/perl -wln $/="\r"; chomp; if (length($_)>1) { print substr($_."X" x 100, 0, 100) } Ergebnis: Die erste Zeile ist ok, dann kommt direkt die 2te. Sie ist auch ok, allerdings kommt dann eine Leerzeile. Alle darauf folgenden Zeilen sind auch ok, allerdings folgt immer eine Leerzeile. Dann hab ich weiter getestet: Code (perl): (dl
)
1 2 3 4 5 6 #!/usr/bin/perl -wln $/="\r\n"; chomp; if (length($_)>1) { print substr($_."X" x 100, 0, 100) } Ergebnis: Die erste Zeile wird direkt mit Hexcode 0d beendet, dann folgen die X, dann die restlichen Zeilen. Sie sind ok. Bsp.: www e rere xxxxxxxxxxxxx 3q3e rxxxxxxxxxxxxxxxxx df dfe e343xxxxxxxxxxxxx Der Hexcode Editor zeigt an, dass in der ersten Zeile noch 0d als Umbruch steht, während alle anderen 0a haben. Vor dem Skript zeigt der Hexeditor überall als Zeilenende 0d0a an. Mir ist nicht klar, wie ich das behebe. (Nachträglich editiert) |