Thread Suchen/Ersetzen Problem (6 answers)
Opened by nikster77 at 2006-02-19 02:39

nikster77
 2006-02-19 02:39
#63084 #63084
User since
2006-02-08
26 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen.
Ich habe mal wieder ein Problem...
und zwar wuerde ich gerne mehrere Begriffe, die ich aus einer Liste einlesen moechte, in einem Text ersetzen.

Code: (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
#!/usr/bin/perl

use warnings;
open(DATEI,"<", "altedatei") || die "Datei nicht gefunden";
while(<DATEI>)
{
chomp;
push(@my_array,$_);
}
close(DATEI);

open (DATA, "datei") || die "konnte die Datei nicht oeffnen\n";
#Solange noch etwas in der Datei steht, fuehre sed-Aktion aus
while (<DATA>)
{
$_ =~ s/$my_array/$replace/g;
push(@datei, $_);
}
#Die Datei wird nach der Bearbeitung geschlossen.
close (DATA);
#Die Datei wird zum schreiben geoeffnet
open (WRITE, ">datei.neu") || die "konnte Datei nicht beschreiben\n";
#Die Datei wird mit dem Inhalt des Arrays ueberschrieben.
print WRITE @content;
#die fertige Datei wird geschlossen.
close (WRITE);


Leider meckert mir Perl diese Zeile:
$_ =~ s/$my_array/$replace/g;

als:
Use of uninitialized value in regexp compilation at replacer.pl line 61, <DATA> line 368.

Weiss jemand warum?

Danke schonmal.

View full thread Suchen/Ersetzen Problem