Кто-нибудь получил Sys :: Syslog для работы на Solaris? (Я использую Sys :: Syslog 0.05 на Perl v5.8.4 на SunOS 5.10 на SPARC). Вот что у меня не работает:
openlog "myprog", "pid", "user" or die; syslog "crit", "%s", "Test from $0" or die; closelog() or warn "Can't close: $!"; system "tail /var/adm/messages";
Что бы я ни делал, closelog возвращает ошибку, и нигде ничего не регистрируется.
По умолчанию Sys :: Syslog пытается подключиться к одному из следующих типов сокетов:
[ 'tcp', 'udp', 'unix', 'stream' ]
Однако в Solaris вам понадобится inet-сокет. Звоните:
setlogsock('inet', $hostname);
и все должно начать работать.
В общем, вы можете ответить на вопросы "работает ли модуль $ x на платформе $ y", посмотрев на матрицу тестеров CPAN, как здесь .
setlogsock ('inet') не сделал этого для меня (он ищет хост "syslog"), но сделал и установил Sys :: Syslog из CPAN. Sys :: Syslog, поставляемый с Solaris 10, является древним.