Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12923[/thread]

Text zwischen def. Tags in Blöcke mit def. Länge aufteilen. (Seite 2)

Leser: 1


<< |< 1 2 >| >> 12 Einträge, 2 Seiten
topeg
 2008-12-22 08:54
#117390 #117390
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Entwerder in Zeile 13 aus
Code (perl): (dl )
$data =~ s/$m/$prepared_string/s;
das machen
Code (perl): (dl )
$data =~ s/\Q$m\E/$prepared_string/s;


oder es ganz anders machen (Das "for" gefällt mir nicht besonders):
Code (perl): (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
36
37
#!/usr/bin/perl
use strict;
use warnings;

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

{
  my $out='';
  while($data =~ s|\A(.*?)<Text>([^<]*)</Text>||s)
  { $out .= $1.prepare_string($2); }
  $data=$out.$data;
}

print $data;

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

__DATA__
<Feld><Text>Hallo liebe Perl-
Geme(i)nde.

diesmal mit leerzeile
</Text></Feld><Sig>
abc</Sig>
<Text>V[iel]e Grüße
leo11</Text><Text>ps.: schönen abend</Text>
leo11
 2008-12-22 20:36
#117392 #117392
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
\Q...\E

(-: Toll, danke.
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2008-12-21 14:05.