Thread Mailversand mittels Perl -Zeilenumbruch (13 answers)
Opened by Gast at 2006-03-09 10:44

dominicn
 2006-03-09 11:30
#63638 #63638
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Nutze bitte in Zukunft, die CODE-Tags dieses Forums, damit der Code besser zu lesen ist.

Benutze immer use strict; und deklariere deine Variablen mit my, z.B. for(my $i ...

Deine wrap-Funktion funktioniert ja ansonsten, jedoch ist es nicht sehr schön, wenn innerhalb von Worten umgebrochen wird, aber vielleicht ist das ja nicht so schlimm für dich.

Wenn du nur bei Leerzeichen umbrechen möchtest, könntest du es so umschreiben:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub wrap {
my $txt = $_[0];
my $wrap_at = 60;
my @w_lines = ();
my $l_wrapat;
if(length($txt) > $wrap_at) {
for(my $i = 0; $i < length($txt);$i+=$l_wrapat) {
$l_wrapat = $wrap_at;
if (substr($txt, $i, $l_wrapat) =~ /\s/) {
while ($i+$l_wrapat < length($txt) and substr($txt, $i+$l_wrapat, 1) !~ /\s/) { $l_wrapat-- }
}
my $nline = substr($txt, $i, $l_wrapat);
$nline =~ s/^\s*//g;
push(@w_lines, $nline);
}
}
$txt = join("\n", @w_lines);
}

View full thread Mailversand mittels Perl -Zeilenumbruch