データの分解は、 / / で挟んだパターンが入っているかどうか調べることによって行われる。
# if /パターン/ =~ 変数 # 変数がパターンに一致するならば
=~ は指定された正規表現が一致するかどうかを調べるときに使う。 正規表現とは、文字列の一致を調べる方法である。 これには以下の正規表現が使われている。
#\S+
# 文字列の連続 #\s+
# 空白文字の連続 # () # () 内に含まれる文字列を優先して探す
正規表現は次週にも続く。 さて、文字列が空白文字を挟んで 3 回現れるため、
if /(\S+
)\s+
(\S+
)\s+
(\S+
)/ =~ 変数
となっている。() で優先された文字列は $1, $2, ..と順番に名前をつけられ、それらが配列の各成分として代入されている。
/(優先された文字列 1)優先されない文字列(優先された文字列 2)優先されない文字列 ... / =~ 変数 # $1 は 優先された文字列 1 を引き取る # $2 は 優先された文字列 2 を引き取る :