it-swarm.com.de

= ~ (Gleichheitszeichen-Tilde) und m "..." in der .htaccess-Direktive

Ich habe diesen Code in einem alten Forumsbeitrag gesehen:

SSLRequire %{HTTP_Host} =~ m"\.secure\.powweb\.com"

Und ich habe mich nur gefragt, was die Zeichen =~ und m" ... " bedeuten. Ich habe online und in der Apache-Dokumentation nach einer Erwähnung des Operators Gleichheitszeichen-Tilde gesucht, aber keine Erwähnung gefunden. Ich weiß, dass einige Direktiven eine Tilde benötigen, um einen regulären Ausdruck zu verwenden, aber ich habe das zuvor verwendete m" ... " -Formular noch nie gesehen.

Wofür genau ist das m" ... "? Wo sonst würden Sie dieses Formular sehen?

2
Lèse majesté

Dies wird zum Abgleichen eines regulären Ausdrucks in einer Zeichenfolge verwendet.

Siehe man perlop :

Binär "= ~" bindet einen skalaren Ausdruck an eine Musterübereinstimmung. Bestimmte Operationen suchen oder ändern standardmäßig die Zeichenfolge $ _. Dieser Operator bewirkt, dass diese Operation für eine andere Zeichenfolge ausgeführt wird. Das richtige Argument ist ein Suchmuster, eine Substitution oder eine Transliteration. Das linke Argument ist das, was gesucht, ersetzt oder transliteriert werden soll, anstatt des Standardwerts $ _.

und

m/PATTERN/msixpogc
/PATTERN/msixpogc
Durchsucht einen String nach einer Musterübereinstimmung und gibt im skalaren Kontext true zurück, wenn dies erfolgreich ist, false, wenn dies fehlschlägt. Wenn über den Operator "= ~" oder "! ~" Keine Zeichenfolge angegeben wird, wird die Zeichenfolge "$ _" durchsucht. (Der mit "= ~" angegebene String muss kein l-Wert sein - er kann das Ergebnis einer Ausdrucksbewertung sein, aber denken Sie daran, dass das "= ~" ziemlich eng gebunden ist.) Siehe auch perlre. In perllocale finden Sie Erläuterungen zu weiteren Überlegungen, die gelten, wenn "Gebietsschema verwenden" aktiviert ist.
...
Wenn "/" das Trennzeichen ist, ist das anfängliche "m" optional. Mit dem "m" können Sie ein beliebiges Paar nicht alphanumerischer Zeichen ohne Leerzeichen als Trennzeichen verwenden.

4