Ich beziehe gerade Perls RegExps und verstehe es im Großen und Ganzen. Escape-Zeichen habe ich auch begriffen, denke ich, dh auf einen Backslash zu testen, der mit m / \ / bezeichnet werden kann, indem der Backslash weiterverarbeitet werden muss, kaufe zuerst das \ Zeichen, um Perl in diesem Fall zu sagen, um es entsprechend seiner üblichen Bedeutung zu suchen .
Was ich mit dem unten stehenden Code nicht verstehe, ist, dass dieses Muster übereinstimmt und warum (\) beim Testen der E-Mail-Adresse mit @ symbold (im if-Anweisungsausdruck) verwendet wird. Ich bin mir nicht bewusst, @ ist ein besonderer Charakter zu entkommen oder habe ich etwas verpasst?.
%Vor%In Perl können Sie jedem potenziellen Regex-Metazeichen entkommen und sicherstellen, dass es sich um ein Literal handelt.
Auch für @
ist dies das Array-Sigil. Wenn es also eine Chance gibt, dass es mit einer @/
-Variable verwechselt wird, ist es sinnvoll zu entkommen.
Arrays werden sowohl in Strings in doppelten Anführungszeichen als auch in Rexes in Perl interpoliert, wobei die spezielle Variable $"
(standardmäßig ein Leerzeichen) zwischen jedem Element liegt:
Ich verwende diese Funktion nur selten, aber gelegentlich ist sie nützlich, zum Beispiel:
%Vor%