Params::Validate

こんなんで、

      1 use strict;
      2 use warnings;
      3
      4 use Params::Validate qw/:all/;
      5
      6 sub hoge {
      7
      8     my %hash = validate( @_,
      9         {
     10             hoge => 2,
     11             tage => 1,
     12         }
     13     );
     14 }
     15
     16 hoge(
     17     {
     18         hoge => 2
     19     }
     20 );


こんな感じ。
あとは、タイプ指定とかでいけるか。

Mandatory parameter 'tage' missing in call to main::hoge

http://search.cpan.org/~drolsky/Params-Validate-0.86/lib/Params/Validate.pm