Zeilenlaenge vorgeben?

Zeilenlaenge vorgeben?

am 20.11.2007 10:59:26 von Astrid Kuhr

Hallo!

Wenn ich eine Ascii-Datei zum Schreiben oeffne,
kann ich dabei schon direkt ein Zeilenlaenge
mit angeben?

Ich schreibe ganz viele Zahlen einzeln,
also ohne \n hinter jeder Zahl, in eine Datei.
(Pro Zahl ein print-Befehl)
Das koennen auch schonmal 100 sein.
Der besseren Lesbarkeit wegen waere es dann schoen,
wenn die Datei dann automatisch bei einer bestimmten
Zeilenlaenge umgebrochen waere.
(Aber natuerlich dann nicht so, dass die ersten Ziffern
einer Zahl in einer Zeile stehen und die letzten in der
naechsten.. ;) )

Gruss, Astrid

Re: Zeilenlaenge vorgeben?

am 20.11.2007 12:14:11 von Frank Seitz

Astrid Kuhr wrote:
>
> Wenn ich eine Ascii-Datei zum Schreiben oeffne,
> kann ich dabei schon direkt ein Zeilenlaenge
> mit angeben?
>
> Ich schreibe ganz viele Zahlen einzeln,
> also ohne \n hinter jeder Zahl, in eine Datei.
> (Pro Zahl ein print-Befehl)
> Das koennen auch schonmal 100 sein.
> Der besseren Lesbarkeit wegen waere es dann schoen,
> wenn die Datei dann automatisch bei einer bestimmten
> Zeilenlaenge umgebrochen waere.
> (Aber natuerlich dann nicht so, dass die ersten Ziffern
> einer Zahl in einer Zeile stehen und die letzten in der
> naechsten.. ;) )

Beim open() kannst du sowas nicht mit angeben, das
ist zu speziell. Du kannst das aber leicht erreichen, indem du
die Zeile selbst aufbaust, indem du immer die nächste Zahl
anhängst, und die Zeile dann schreibst, wenn die vorgegebene
(maximale) Zeilenlänge überschritten würde.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: Zeilenlaenge vorgeben?

am 20.11.2007 14:16:52 von Thomas Kratz

Astrid Kuhr wrote:

> Wenn ich eine Ascii-Datei zum Schreiben oeffne,
> kann ich dabei schon direkt ein Zeilenlaenge
> mit angeben?
[...]
> Der besseren Lesbarkeit wegen waere es dann schoen,
> wenn die Datei dann automatisch bei einer bestimmten
> Zeilenlaenge umgebrochen waere.
> (Aber natuerlich dann nicht so, dass die ersten Ziffern
> einer Zahl in einer Zeile stehen und die letzten in der
> naechsten.. ;) )

Das Modul Text::Wrap erledigt das für Dich.

http://search.cpan.org/search?query=wrap&mode=all

Thomas
--
$/=$,,$_=,s,(.*),$1,see;__END__
s,^(.*\043),,mg,@_=map{[split'']}split;{#>J~.>_an~>>e~...... >r~
$_=$_[$%][$"];y,<~>^,-++-,?{$/=--$|?'"':#..u.t.^.o.P.r.>ha~.e..
'%',s,(.),\$$/$1=1,,$;=$_}:/\w/?{y,_, ,,#..>s^~ht<._..._..c....
print}:y,.,,||last,,,,,,$_=$;;eval,redo}#.....>.e.r^.>l^..>k ^.-