好みかと。

俺は、elseの処理が長くなるなら前者の方法を取るし、数行で終わるならelseの中に書いちゃう。

>550
my $aa = "20060703";
($year, $month, $day) = $aa =~ /(\d{4})(\d{2})(\d{2})/;
print $year, $month, $day;