Thread Text zwischen def. Tags in Blöcke mit def. Länge aufteilen. (11 answers)
Opened by leo11 at 2008-12-21 14:05

styx-cc
 2008-12-21 15:59
#117382 #117382
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Bitte schön:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl -w
use strict;
use Data::Dumper;

local $/ = '';
my $data = <DATA>;

do {
$data =~ m|(<Text>.+</Text>)|s;
my $prepared_string = prepare_string($1);
$data =~ s/$1/$prepared_string/s;
} while($1);

print Dumper $data;

## subs ##
sub prepare_string {
my $string = shift;
$string =~ s/\n|<Text>|<\/Text>//g;

my $chunk_size = 4;
my $prepared_string;
for (my $i = 0; $i <= length($string); $i=$i+4) {
my $part = substr($string, $i, $chunk_size);
$prepared_string .= "<Text>$part</Text>\n";
}
return $prepared_string;
}

__DATA__
<Feld><Text>Hallo liebe Perl-Gemeinde,
ich wünsche euch ein schönes Fest und
einen guten Rustch ins neue
Jahr.</Text></Feld><Sig>
abc</Sig>


MfG

Edit - Die Ausgabe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
stefan@stefan-laptop:~/perl$ perl sort.pl
$VAR1 = '<Feld><Text>Hall</Text>
<Text>o li</Text>
<Text>ebe </Text>
<Text>Perl</Text>
[...]
<Text>ins </Text>
<Text>neue</Text>
<Text>Jahr</Text>
<Text>.</Text>
</Feld><Sig>
abc</Sig>
';
Pörl.

View full thread Text zwischen def. Tags in Blöcke mit def. Länge aufteilen.