正規表現2(例題)

これはどういう意味か。

if ($str =~ /^(.+)@(.+)$/)

/パターン/
という形なので、中のものにマッチするかどうか調べています。

^(.+)
なんですかね?これ。

複数の文字にマッチ

^ 文字列(行)の最初にマッチする  
$ 文字列(行)の最後にマッチする

*(アスタリスク) 0回以上にマッチ
  1. 1回以上にマッチ
? 0、1回にマッチ {m} ちょうどm回にマッチ {m,} m回以上にマッチ {m,n} m回以上n回以下にマッチ

ということなので、「^(.+)」は、「文字列の最初に、.(ドット)が1回以上でマッチ」
という意味になります。
となると、「(.+)$」これは、「文字列の最後に、.(ドット)が1回以上でマッチ」
ということになりますね。

すると、「/^(.+)@(.+)$/」これは、

「最初にドットが来て、@マークを挟み、最後がドットで終わる」

という意味になります。携帯用メールアドレスのチェックですねw