正規表現の中でカッコ ( ) を使うと、マッチした文字列の一部をキャプチャ(捕獲)して後で使う事ができます。これは、正規表現を使う上でとっても重要なテクニックです。 例えば m/aaa(bbb)ccc/ というパターンがあるとします。この検索パターンは「aaabbbccc」という文字列にマッチします。カッコは特殊な文字なので、検索する時は無いモノとして扱われるのです。つまり「aaa(bbb)ccc」という文字列にはマッチしません。*1 "aaabbbccc" =~ m/aaa(bbb)ccc/; # 真:マッチする "aaa(bbb)ccc" =~ m/aaa(bbb)ccc/; # 偽:マッチしない このパターンの場合、「bbb」をキャプチャしている事になります。キャプチャした文字列は左のカッコから順番に $1、$2、$3、$4… という連番の変数に入ります。 例えば、以下の場合 "ab