#! /usr/bin/perl use strict ; use warnings ; package Probe::Ping_cluster ; use base 'Probe' ; # no_ping int ping_cluster sub ITEMS { [ { name => 'no_ping' , kind => 'int' , args => [] } ] ; } ; sub main { my $self = shift ; my $itms = shift ; # items to probe : [ item, ... ] my $clnt = shift ; # main::CLIENT for my $item ( sort { $a -> name cmp $b -> name } @$itms ) { my @prog = qw(/local/bin/ping-cluster -u ) ; my ( $err, $xit, $sig, @lines ) = Probe::Util::run_prog ( @prog ) ; if ( $err ) { $_ -> perr ( $err ) for @$itms ; } else { my $val = $lines [ 0 ] ; chomp $val ; $item -> set_val ( $val ) if defined $val ; } } } 1 ;