use Sys::Syslog; package Sys::Syslog; sub xlate { local($name) = @_; $name = uc $name; $name = "LOG_$name" unless $name =~ /^LOG_/; return (4<<3) if $name eq 'LOG_AUTH'; # a fix for LOG_AUTH $name = "Sys::Syslog::$name"; eval { &$name } || -1; } package main; openlog "testing","pid","auth"; syslog "info", "log this please";