#! /usr/local/bin/perl -w use IO::Socket::INET; print "syslog is ", check_syslog( 'localhost' ) ? 'up' : 'down', "\n"; sub check_syslog { my $s = IO::Socket::INET->new( PeerHost => $_[0], Timeout => 1, Proto => 'udp', PeerPort => 514, ); return 0 unless $s; close $s; return 1; }