$self->param('name1')がundefだと >>861の書き方でも
期待した動作にならないね。
仕様自体が悪いと言うけどこういった低水準で素直な動作が出来るとこが
Perlの良さだと思うんだけどな。
バグの温床云々いうやつは自分でcollectionメソッドとかを書けばいいわけで。