in reply to Optional parameter before reference

A way that works for me is to pass in a hashref containing my params. That way the order isn't an issue, they're all in one place, and anything optional can be easilly tested for and used/ignored.
sub verify { my $params = shift || die("your message"); ... } verify({param1 => $b, param2 => "hello", param3 => "whatever"}); verify({param1 => $b}); verify({param1 => "hello"});

It can get pretty hairy though passing in nested data.
~hb