Sonderzeichen!?
Frank
- perl
Hi folks,
$LOG2[0]=~ s/[//gi;
irgendwie mag Perl das wohl nicht so ganz:
/[/ unmatched [] in regexp line xyz
Gut die Fehlermeldung verstehe ich schon, aber wie kann ich denn Madame Perl klarmachen das es bitte alle [ in der Variable durch nichts ersetzen soll?
merci euch
mfg
FrankyBoy
Hi,
$LOG2[0]=~ s/[//gi;
irgendwie mag Perl das wohl nicht so ganz:
/[/ unmatched [] in regexp line xyzGut die Fehlermeldung verstehe ich schon, aber wie kann ich denn Madame Perl klarmachen das es bitte alle [ in der Variable durch nichts ersetzen soll?
Wie man alle Sonderzeichen quotet: "\Zeichen"
$LOG2[0]=~ s/[//gi;
[ ] Du hast dich umgeschaut und in der Perldoc gesucht bevor
du diese Frage hier gepostet hast?
Ciao,
Wolfgang
Hi,
$LOG2[0]=~ s/[//gi;
irgendwie mag Perl das wohl nicht so ganz:
/[/ unmatched [] in regexp line xyzGut die Fehlermeldung verstehe ich schon, aber wie kann ich denn
Madame Perl klarmachen das es bitte alle [ in der Variable durch
nichts ersetzen soll?
schonmal was von maskieren gehoert?
$LOG2[0]=~ s/[//gi;
mfg
CK1
Hallo Frank,
versuch mal das folgende:
$LOG2[0]=~ s/[//gi;
Damit müßte es eigentlich gehen.
Hintergrund:
Die diversen Klammern bzw Sonderzeichen werden in Perl ja genutzt und benötigt. Darum mußt Du dem Interpreter erklären, das es sich bei eben diesem Sonderzeichen nicht um einen Programmbestandteil handelt. Und das geschieht eben durch den Backslash . Damit wird das direkt nachfolgende Zeichen entwertet. Würdest Du also z.B. [] ersetzen wollen, müßte es dann so aussehen:
$LOG2[0]=~ s/[]//gi;
Es gibt noch eine weitere Möglichkeit, damit Du nicht für jedes Sonderzeichen ein \ davor setzen mußt, die weiß ich aber im Moment nicht aus dem Kopf, kann aber im SelfHTML nachgelesen werden.
Jens
Hi Frank!
$LOG2[0]=~ s/[//gi;
irgendwie mag Perl das wohl nicht so ganz:
/[/ unmatched [] in regexp line xyz
In regulären Ausdrücken kann man halt mit [....] eine Gruppe von Zeichen angeben die zur Auswahl stehen:
/Herr Me[yi]er/
Nun sucht er bei Dir halt die schließende Klammer! Per \ kannst Du aber die Wirkung von [ aufheben:
$LOG2[0]=~ s/[//gi;
Die Option i ist hier überflüssig (kostet nur Zeit) ...
Zum puren Zeichen löschen solltest Du aber
$LOG2[0]=~ tr/[//d;
verwenden, da Du ja auch keine Regulären Ausdrücke benötigst ...
Gruß,
Jörk