Thread Kommisches Zeichen am Ende der Zeile (26 answers)
Opened by Mathias at 2014-03-11 11:59

betterworld
 2014-03-12 20:37
#174067 #174067
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Hi,

überprüf doch mal mit Beispielstrings, ob den Code auch immer das machst, was Du denkst. Mir fallen da mindestens zwei Stellen in Deinen drei Snippets auf, wo Du offenbar etwas völlig anderes machen wolltest:

$message =~ s/\\0//;
Das sucht nach einem Backslash gefolgt von einer Null.

Und aus dem ersten Beitrag:
$message =~ tr/[\^@]//;
Zunächst einmal haben die anderen ja schon erörtert, dass "\@" in Wirklichkeit gar nicht die Zeichen sind, die Du suchst. Aber auch davon abgesehen ist hier der Wurm drin: "tr" löscht nie irgend etwas, wenn nicht das Flag /d angegeben wird. Außerdem werden die Zeichen bei "tr" ohne eckige Klammern angegeben. Wenn Du eckige Klammern hinzutust, dann werden sie auch wie die anderen Zeichen behandelt. Was dein Snippet letztendlich tut: Es lässt den String unverändert und der Rückgabewert ist die Anzahl der Zeichen, die entweder ein "^" oder ein "@" oder ein "[" oder ein "]" sind.
Last edited: 2014-03-12 20:39:55 +0100 (CET)

View full thread Kommisches Zeichen am Ende der Zeile