hi all,
ich will in allen dateien eines verzeichnisses die selbe ersetzung vornehmen. der dateiname ändert sich in einer foreach-schleife mit jedem durchlauf ändert.wie lautet die anweisung zum neuschreiben der datei
open(DATEI, ">testdatei.txt") || die "Datei nicht gefunden";
wenn testdatei.txt kein feststehender name ist sondern durch den skalar $datei ausgedrückt wird?
mein gesamt code ist (im bsipiel will ich alle einsen durch neunen ersetzen):
[code]
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
my $Verzeichnis = "/www/erzwiss/test";
opendir(DIR, $Verzeichnis) || die "$Verzeichnis: $!";
my @Eintraege = readdir(DIR);
closedir(DIR);
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Testausgabe</title></head><body>\n";
foreach(@Eintraege)
{
print "$_<br>\n";
my $datei = $_;
open(DATEI, "$datei") || die "Datei nicht gefunden";
my @Zeilen = <DATEI>;
close(DATEI);
my @NeueZeilen;
foreach(@Zeilen)
{
$_ =~ s/"1"/"9"/;
push(@NeueZeilen,$_)
}
open(DATEI, ">$datei") || die "Datei nicht gefunden";
print DATEI @NeueZeilen;
close(DATEI);
}
print "</body></html>\n";
[code]
die zeile
open(DATEI, ">$datei") || die "Datei nicht gefunden";
macht den fehler.
danke im voraus
helmut
Datum: 07.11.2008-07:26
