BEGIN { if ($^O eq "MSWin32") { use Win32::EventLog qw(Report new); } else { use Sys::Syslog qw(:DEFAULT setlogsock); } } # later... if ($^O eq "MSWin32") { my $eventlog = Win32::EventLog->new("myscript"); } else { Sys::Syslog::setlogsockt ('unix'); Sys::Syslog::openlog ("myscript", 'pid', "INFO"); }