UNItopia News: Brett Computer, Gruppe Allgemeines, Artikel 1767
-------------------------------------------------------------------------------
Titel: Perl mal wieder
Artikel: 1767 Bezug: 0
Verfasser: Yoda Datum: 01.09.05 15:10:39
-------------------------------------------------------------------------------
Hallo lieber Perl-Gurus
ich bin bei meinem Projekt auf ein seltsames Problem gestossen. Ich habe
folgende Situation: ein Hash %filepairs mit dem Inhalt:
eins.inc -> 1_eins.inc
zwei.inc -> 2_zwei.inc
drei+vier.inc -> 3_drei+vier.inc
Im Prinzip sind das Filenamen, die in einem CAE-Inputfile ausgetauscht werden
sollen.
Zusaetzlich habe ich noch einen Array @includes, der die erste Spalte des
Hashes beinhaltet (also eins.inc, zwei.inc, drei+vier.inc). Jetzt mach ich
folgendes:
foreach my $source_inc (@includes) {
open( FILE, "<$temp_file") or die "File $temp_file not found! \n" ;
open( DEST, ">$wip_file") or die "File $wip_file could not be opened. \n" ;
while ( my $line = <FILE> ) {
$line =~ s/$source_inc/$filepairs{$source_inc}/;
print DEST "$line";
}
close DEST;
close FILE;
copy ($wip_file, $temp_file) or die "copy_includes.pl: Cannot copy
$wip_file to $temp_file \n";
}
Mein Problem ist, dass der code den String mit dem "+"-Zeichen nicht ersetzt.
Wenn ich statt dessen ein "-" einsetze, dann klappts.
Weiss jemand, woran das liegen koennte? Ich steh da echt auf dem Schlauch.
Danke
Yoda