Dear Max, Why this restriction is required in subroutine enter()? if ($keyword eq '@hook') { error('"hook" must be the first token in a command') if exists $rule{domain}; I could create quite elagant functions if domain were known at the point of hook definition. (I.e. I need hooks inside domain{...} ) Regards Gabor