gudn tach Danni!
wenn du's aber alles von hand programmieren willst, waere ein vorschlag:
$_ = $string;
my $out = '';
while(/\G(.{40}\S{0,10})/gc){
$out.= $1,"\n";
}
$out.= substr $_, pos;
> >
> > hab's nicht ausprobiert. so in etwa koennte es aber funzen.
> Das hätte mir gefallen, denn man könnte es schön variieren, aber klappt leider nicht.
naja, "klappt nicht", heisst ja nicht, dass man es noch zurechtbiegen koennte. in diesem fall z.b. war nur das komma hinter $1 falsch.
den regulaeren ausdruck kannst du evtl. noch so zurechtbiegen, dass der whitespace jeweils in die aktuelle (und nicht in die naechste zeile) verschoben wird:
~~~perl
my $out = '';
while(/\G(.{40}\S{0,10}\s?)/gc){
$out.= $1."\n";
}
$out.= substr $_, pos;
Und der reguläre Ausdruck ist wohl schon etwas für Fortgeschrittene, denn \G
habe ich in Selfhtml nicht gefunden (nur in Perldoc), wobei mir die Bedeutung nicht klar ist (auch reg. Ausdrücke sind noch Neuland für mich).
ja in selfhtml steht dazu noch nichts. das wird in der naechsten version besser.
die beiden von mir verlinkten dokumente waren ja aus dem perl-manual. dort steht, was \G bedeutet, und es sind auch ein paar beispiele vorhanden.
\G matcht das ende des matches des vorigen durchlaufs (also an der stelle pos).
prost
seth