Perl の正規表現メモ

今更ですが、 Perl で正規表現によるマッチングを行いたくなったので。

経緯

今回は「対象文字列に http または https を含むか」を調べたいと考えました。

なお、改行は予め処理されていて全ての文字列が一行に収まっていると想定します。

コード

$heystack = "対象文字列です。この中に http://example.jp が含まれていると正規表現マッチングで引っかかります。"

if ($heystack =~ /https?:\/\//i) {
    print "URLが含まれています。";
}

これでOK。

余談

malformed header from script. Bad header=syntax error at /PATH/TO/WEBSITE/: cgiwrap

途中でこのようなエラーがログに記録されてしまいました。

原因は elsif を他の言語と同じノリで else if と記述していたため構文エラーになっていました。

ぱっと見このエラー文だけでは分かりづらいですね……。

参考

正規表現

malformed header from script. Bad header=syntax error at

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。