my %parameter = @_; my %option = ( '-db' => 'required', '-user' => 'required', '-pass' => 'required', '-extra' => 'optional', ); foreach my $parameter (keys %parameter){ unless (exists $option{$parameter}){ warn "Unknown parameter '$parameter'"; next; } # und so weiter... }