Hallo Franz, ohne das komplette Problem analysiert zu haben… Franz Timmer <ftimmer@web.de> (Fr 24 Dez 2010 22:16:02 CET): … > # Verezichnis oeffnen > @fileliste = glob($verz."/*.html") or die "Verzeichnisangabe falsch"; > $/=""; Hier willst Du vermutlich nicht absatzweise (Absätze sind getrennt durch eine oder mehrere Leerzeilen) einlesen. Denn wenn Du absatzweise arbeitest, wirst Du die Texte nicht finden, die sich über eine Absatzgrenze (Zeilengrenze) erstrecken. $/ = undef; … macht, daß das komplette File am Stück eingelesen wird. Wenn Du schon mit $/ rumoperieren möchtest. Ansonsten hätte auch ein $_ = join "" => <FH>; seinen Zweck erfüllt. > foreach $filename (@fileliste) > { open(FH, $filename) or die "Konnte $filename nicht öffnen\n"; > while(<FH>) > { > $_ =~ s|\s+| |gs; # Leerzeichen entfernen > $_ =~ s|.*expand.sections||si; # Marke finden > print "$_ \n"; > }; > }; @fileliste = … foreach my $filename (@fileliste) { local $/ = undef; # slurp mode open(my $fh, $filename) … $_ = <$fh>; … } Und natürlich wäre es nicht Perl, wenn es nicht noch 12 andere Möglichkeiten gäbe. -- Heiko :: dresden : linux : SCHLITTERMANN.de GPG Key 48D0359B : 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B
Attachment:
signature.asc
Description: Digital signature