Glen: Dateinamen in Datei schreiben

Hi,
ich lese mit meinem Code mehrere HTML-Dateien aus einem Verzeichnis ein, ändere diese und speichere sie dann in einem neuen Verzeichnis ab. Das funktioniert soweit auch ganz gut.
Hier mal mein Code.

#!/usr/local/bin/perl

use strict;

HTML-Dateien öffnen und ändern

my $datei_dir ="/data/daten/ib_test";
my $dateineu_dir ="/data/daten/ib_test/Dateien_neu";

opendir(DIR, $datei_dir) or die "Fehler bei opendir: $!\n";
while(my $datei=readdir(DIR))
{
 print "->$datei\n";
 if($datei=~m/.+.html*$/)
 {
  open(DATEI, "<", "$datei_dir/$datei") || die "Fehler bei open(< $datei): $!\n";
  open(DATOUT,">$dateineu_dir/$datei") || die "Fehler bei open(> $datei): $!\n";
  while (my $zeile =<DATEI>)
  {
   $zeile =~ s/<FONT FACE="Arial">/test/g;
   print (DATOUT "$zeile");
  }
  close(DATEI);
  close(DATOUT);
 }
}
close(DIR);

Jetzt möchte ich noch, dass der Dateiname der jeweiligen HTML-Datei in den <body> der Datei geschrieben wird. Wie könnte ich das am besten realisieren.
Besten Dank schonmal für Eure Hilfe.

  1. Hi,

    while (my $zeile =<DATEI>)
      {
       $zeile =~ s/<FONT FACE="Arial">/test/g;

    $zeile=~s/(<body.*?>)/$1<p>$datei</p>/i;

    print (DATOUT "$zeile");
      }
      close(DATEI);
      close(DATOUT);
    }
    }
    close(DIR);

    Das sollte den Dateinamen in einen <p>-Tag direkt hinter <body> schreiben. (ungetestet)

    HTH

    ortenau-s-bahner

    --
    ss:} zu:$ ls:} fo:| de:] va:) ch:? sh:( n4:# rl:? br:> js:| ie:( fl:{ mo:)
    1. Perfekt!
      Vielen Dank ortenau-s-bahner