#! /usr/bin/perl use strict ; use warnings ; package Probe::Stor_cli ; use base 'Probe' ; # raid_mega_status int stor_cli /c0 sub ITEMS { [ { name => 'raid_mega_status' , kind => 'int' , args => [ qw(/c0) ] } ] } ; sub main { my $self = shift ; my $itms = shift ; # items to probe : [ item, ... ] my $clnt = shift ; # main::CLIENT my $path = $self -> path ; for my $item ( sort { $a -> name cmp $b -> name } @$itms ) { my @prog = ( "$path/stor_cli.pl", @{ $item -> args } ) ; my ( $err, $xit, $sig, @lines ) = Probe::Util::run_prog ( @prog ) ; if ( $err ) { $item -> perr ( $err ) ; } else { my $name = $item -> name ; my $val = $lines [ 0 ] ; chomp $val ; OBB::TT ( " name %s val %s", $name, $val ) ; $item -> set_val ( $val ) ; } } } 1 ;