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