>>126
Perlにはデフォルト値を記述するような特別な書き方はない。
その方法でもいいと思うが。

スマートなのは、
sub f1 {
 my %opt = (x=>0, y=>"foo", @_);
}
などとやることかな。引数をhashで与えるという制約になるけど、キーを上書きしてしまわない限りは、最初に設定した値がそのまま生きる。