正規表現の最長マッチ最短マッチ

正規表現の最長マッチと最短マッチ、どっちがデフォルトか忘れがちなので、
ブログにあれします

正規表現の話で、デフォルトだと最長マッチで
?つけると最短マッチになるというやつです。

#!/usr/bin/perl

$a = '<a class="yeah!" href="https://www.google.co.jp">link</a>';

$a =~ /class="(.+)"/ and print $1;
# -> yeah!" href="https://www.google.co.jp
# 最長地点にあるダブルクオーテションまでとっちゃう

# + のうしろに? をつける
$a =~ /class="(.+?)"/ and print $1;
# -> yeah!
# 直近にあるダブルクオーテションまでとるので yeah! がとれる