Я думаю, что вам нужно:
switch ($foo)
{
case 3:
case 5:
bar();
break;
case 2:
apple();
break;
}
Интересно, я слышал, что Perl (или, может быть, даже) уже вводит этот синтаксис, что-то вроде:
if ($a == 3 || 5)
Я не большой фанат этого синтаксиса, так как мне приходилось писать лексические парсеры совсем немного, и я считаю, что языки должны быть как можно более однозначными. Но затем Perl уже решил все эти виды проблем с этими отвратительными хвостовыми if
s и or
s, поэтому я подозреваю, что с этим не будет никаких проблем: -)