Dateinamen in Datei schreiben
Glen
- perl
0 ortenau-s-bahner0 Glen
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;
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.
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
Perfekt!
Vielen Dank ortenau-s-bahner