=================================================================== RCS file: /cvs/nagios/check_bioctl/check_bioctl,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- nagios/check_bioctl/check_bioctl 2009/11/23 21:45:58 1.11 +++ nagios/check_bioctl/check_bioctl 2009/11/23 21:52:53 1.12 @@ -1,5 +1,5 @@ #!/usr/bin/perl -T -# $RedRiver: check_bioctl,v 1.10 2009/11/12 18:54:38 andrew Exp $ +# $RedRiver: check_bioctl,v 1.11 2009/11/23 21:45:58 andrew Exp $ ######################################################################## # check_bioctl *** A nagios check for OpenBSD bioctl # @@ -8,11 +8,9 @@ use strict; use warnings; -use 5.010; - local %ENV = (); -my $NAGIOS_OUTPUT => 1; +my $NAGIOS_OUTPUT = 1; my $License = <<'EOL'; Copyright (c) 2009 Andrew Fresh @@ -44,7 +42,7 @@ use utils qw($TIMEOUT %ERRORS &support); $SIG{'ALRM'} = sub { - say "ERROR: $PROGNAME timeout"; + print "ERROR: $PROGNAME timeout\n"; exit $ERRORS{'UNKNOWN'}; }; alarm($TIMEOUT); @@ -84,7 +82,7 @@ } if ($opt_V) { - print_revision( $PROGNAME, '$Revision: 1.11 $ ' ); + print_revision( $PROGNAME, '$Revision: 1.12 $ ' ); exit $ERRORS{'OK'}; } @@ -130,6 +128,7 @@ or die "Couldn't open bioctl: $!\n"; while ( my $line = <$bioctl> ) { my ( $i, $item ) = parse_bioctl_line($line); + next unless defined $i; $volumes{$d}{$i} = $item; } ## no critic 'die' @@ -143,7 +142,7 @@ foreach my $i ( keys %{ $volumes{$d} } ) { my $item = $volumes{$d}{$i}; if ( $item->{device} =~ /^\d+:\d+/xms ) { - $item->{'volume'} = $volumes{$d}{ $i->{volume_id} }; + $item->{'volume'} = $volumes{$d}{ $item->{volume_id} }; } } } @@ -151,14 +150,15 @@ return %volumes; } +{ + my $vid; sub parse_bioctl_line { my ($line) = @_; - state $vid; chomp $line; # Do these by columns cuZ that is the easiest for now my @o = unpack( "A6 A1 A11 A15 A7 A9 A*", $line ); - next if $o[0] eq 'Volume'; + return if $o[0] eq 'Volume'; foreach (@o) { s/^\s+//xms; @@ -188,6 +188,7 @@ return $index, \%item; } +} sub check_status { my ($volumes) = @_; @@ -234,7 +235,7 @@ EOL - print_revision( $PROGNAME, '$Revision: 1.11 $' ); + print_revision( $PROGNAME, '$Revision: 1.12 $' ); print $License; @@ -245,7 +246,7 @@ my ( $prog, $rev ) = @_; $rev =~ s/^\D+([\d\.]+)\D+$/v$1/xms; - say "$prog $rev"; + print "$prog $rev\n"; return 1; }