use Carp; %args = (%args, %default); foreach (keys %args) { carp( 'Unknown argument to init subroutine - ', $_ ) unless exists $default{$_}; } bless \%args, $class;