use Verifier; my $verify = new Verifier (on_failure => sub { die(join (',',@_)) }) sub foobar { ## The '-' in front of hashref means $bar is an optional paramater my ($foo, $bar) = $verify->type ( \@_, qw/scalar -hashref/); print "Using $foo:\n"; return $foo unless %$bar; for (keys %$bar) { print "$_ => $$bar{$_}\n" } return $$bar{'result'}; }