use constant LEVELS => { DEBUG => 0, INFO => 1, NOTICE => 2, NOTE => 2, WARNING => 3, ERROR => 4, ERR => 4, CRITICAL => 5, CRIT => 5, ALERT => 6, EMERGENCY => 7, EMERG => 7, } BEGIN { for my $level (keys LEVELS) { no strict 'refs'; my $sub = lc($level); *{"$sub"} = sub { my $self = shift; $self->_print($level, @_); }; } }