タグは変数であり、9eaf
をチェックしていますが、これはPerlに存在しますか?
ここで「=〜」記号は何をしていて、9eaf
の前後の「/」文字は何をしていますか?
if ($tag =~ /9eaf/)
{
# Do something
}
=~
は、正規表現の一致をテストする演算子です。表現 /9eaf/
は正規表現です(スラッシュ//
は区切り文字、9eaf
は実際の正規表現です)。言い換えれば、テストは「変数$ tagが正規表現/ 9eaf/...と一致する場合」と言っており、この一致は文字列が$tag
にはこれらの文字が含まれています9eaf
任意の時点で連続して、順番に。したがって、これは文字列に当てはまります
9eaf
xyz9eaf
9eafxyz
xyz9eafxyz
他にもたくさんありますが、文字列ではありません
9eaxxx
9xexaxfx
その他多数。正規表現の詳細については 'perlre' man page を参照するか、Googleの「Perl正規表現」を参照してください。
'=〜'演算子は binary binding operator で、次の操作が左側のスカラーを検索または変更することを示します。
デフォルトの(指定されていない)演算子は、一致する場合は「m」です。
マッチング演算子には、正規表現の開始位置と終了位置を指定する文字のペアがあります。最も一般的には、これは「//」です。
Perl Re tutorial 読んでください。
これは、スカラー$tag
(おそらく文字列)が正規表現/9eaf/
に対して一致するかどうかをチェックします。これは、文字列"9eaf"
が$tag
。 perldoc perlretut
をご覧ください。