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

nikster77
 2006-02-19 03:24
#63086 #63086
User since
2006-02-08
26 Artikel
BenutzerIn
[default_avatar]
Danke für deine schnelle Antwort,
leider muss die "replace"-Variable sich aus den Werten (Zeile für Zeile) aus dem array zusammensetzen.

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
27
28
29
30
31
32
33
34
#!/usr/bin/perl

#use strict;
use warnings;

my @my_array;
my $replace = "$my_array".'@'."xy.de";

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

my $string = join("|",@my_array);
my $regex = qr{$string};
my $replace = "$array".'@'."xy.de";

open (DATA, "datei") || die "konnte die Datei nicht oeffnen\n";
#Solange noch etwas in der Datei steht, fuehre sed-Aktion aus
while (<DATA>){
$_ =~ s/$regex/$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 @datei;
#die fertige Datei wird geschlossen.
close (WRITE);


wenn ich es so mache stirbt das Prog mit folgendem Fehler:

Name "main::my_array" used only once: possible typo at replacer2.pl line 7.
Use of uninitialized value in string at replacer2.pl line 7.

Aber es muss sich die Werte in my_array einlesen und dann Wert fuer Wert in regex _und_ replace einsetzen... :(
Code: (dl )
\n\n

<!--EDIT|nikster77|1140312356-->

View full thread Suchen/Ersetzen Problem