#!/usr/bin/perl -wlT use strict; use CGI; use CGI::ArgChecker; use Data::Dumper; my $Q = new CGI; my $checker = new CGI::ArgChecker; $checker->register_check('BloT', sub { warn "You *really* are a GENIUS!!! @_"; return 1; }); $checker->error_handler( sub { warn "You are a GENIUS!!! @_"; }); my $chuck = $checker->argcheck( $Q, 'a' => [ 'disallow_empty', 'want_int' ], 'b' => [ 'disallow_empty', 'BloT' ], ,); print Dumper $chuck; __END__ F:\dev\>perl -T argchk.pl a=Where do all the old erections go? -- Adam You are a GENIUS!!! a want_int at argchk.pl line 19. You *really* are a GENIUS!!! SCALAR(0x1bc4610) at argchk.pl line 13. You are a GENIUS!!! b disallow_empty at argchk.pl line 19. You are a GENIUS!!! b BloT at argchk.pl line 19. $VAR1 = { 'ERROR' => 1, 'a' => 'Where', 'b' => undef };