Phw1: s/// und sonderzeichen

Beitrag lesen

ich habe ein perl-cgi-programm geschrieben in dem
aus einer datei strings eingelesen werden,
die sonderzeichen enthalten können:

$x =~ s,|,\|,g;
  $x =~ s,(,\(,g;
...
  $string =~ s/$x/$y/g;

da die anweisung in der dritten zeile zu einer fehlermeldung
führt, wenn in $x sonderzeichen enthalten sind, habe ich
alle sonderzeichen durch eine reihe von ersetzungen maskiert.
das finde ich nicht besonders elegant, zumal
auch im errorlog gemahnt wird: use of uninitialized value in line ...

  • gibt es eine methode diese reihe durch eine einzelne anweisung zu ersetzen und die warnung auszuschließen?
  • kann man die letzte ersetzung so umschreiben, dass man die sonderzeichen
      gar nicht mehr maskieren muss?

danke für die antworten, gruss, phw