switch文

perlヒストグラムを書きたいときにloop文を利用すると多重になり恐ろしく低速になってしまう。if文で書くのが早いが見苦しい。このモジュールを使うと見やすくてよい。

use Switch '__';
switch ($val) {
       case  __ < 10  { $class_1++; }
       case  __ < 20  { $class_2++; }
       case  __ < 30  { $class_3++; }
       case  __ < 40  { $class_4++; }
       case  __ < 50  { $class_5++; }
       else           { $class_6++; }
}

{ $calss_hoge++; next }で累積のヒストグラムも作れる。