Hallo,Ich habe gerade angefangen, mich mit Perl zu beschäftigen und bin auf folgendes Problem gestossen, welches ich bisher leider nicht lösen konnte:
Ziel ist es folgende zeile in einem Bash-Skript durch "blablabla" zu ersetzen:
save ${i}
Mein Perlskript sieht folgendermaßen aus:
--------------------------
my $rw = open(JOBTEMPLATE, "Bashjob_orig");
if(not defined($rw)) {
die "ERROR OPENING FILE: $!\n";
}
open(OPTIMIZEJOB,"> BashjobPERL")
or die "ERROR OPENING FILE: $!\n";
$g1= "save \$\{i\}";
$g3="blablabla";
while(defined(my $i = <JOBTEMPLATE>)) {
$i =~ s/$g1/$g3/ ;
print OPTIMIZEJOB $i ;
}
close(JOBTEMPLATE);
close(OPTIMIZEJOB);
---------------------------------
Das Problem ist, daß ich ${i} nie ersetzt bekomme.
Die Ersetzung von $ oder { alleine geht.
Ich vermute, daß problem liegt an der Maskierung innerhalb des "$i =~ s/$g1/$g3/ ;" Befehls!
Wäre toll, wenn mir jemand nen Tipp geben könnte!
Tschüß,
Philipp
Datum: 23.01.2008-10:21
