summaryrefslogtreecommitdiffstats
path: root/lib/Nagios/Plugin
diff options
context:
space:
mode:
authorTon Voon <tonvoon@users.sourceforge.net>2008-03-17 20:32:11 +0000
committerTon Voon <tonvoon@users.sourceforge.net>2008-03-17 20:32:11 +0000
commit9d5427f392b4b03b7fd558b4be628653d140f6c0 (patch)
tree6d52797148baf7371071c05d98a6b60e97f1e6e2 /lib/Nagios/Plugin
parent405590a12a5552df48d8153f91e529bad0a9c528 (diff)
downloadmonitoring-plugin-perl-9d5427f392b4b03b7fd558b4be628653d140f6c0.tar.gz
Fixed parsing of negative values and support full range definitions
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/Nagios-Plugin/trunk@1952 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'lib/Nagios/Plugin')
-rw-r--r--lib/Nagios/Plugin/Functions.pm2
-rw-r--r--lib/Nagios/Plugin/Performance.pm4
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Nagios/Plugin/Functions.pm b/lib/Nagios/Plugin/Functions.pm
index 2638b8d..0f33121 100644
--- a/lib/Nagios/Plugin/Functions.pm
+++ b/lib/Nagios/Plugin/Functions.pm
@@ -12,7 +12,7 @@ use Params::Validate qw(:types validate);
12use Math::Calc::Units; 12use Math::Calc::Units;
13 13
14# Remember to update Nagios::Plugins as well 14# Remember to update Nagios::Plugins as well
15our $VERSION = "0.24"; 15our $VERSION = "0.25";
16 16
17our @STATUS_CODES = qw(OK WARNING CRITICAL UNKNOWN DEPENDENT); 17our @STATUS_CODES = qw(OK WARNING CRITICAL UNKNOWN DEPENDENT);
18 18
diff --git a/lib/Nagios/Plugin/Performance.pm b/lib/Nagios/Plugin/Performance.pm
index 55e3ddc..403492c 100644
--- a/lib/Nagios/Plugin/Performance.pm
+++ b/lib/Nagios/Plugin/Performance.pm
@@ -22,10 +22,12 @@ sub import {
22 Nagios::Plugin::Functions::_use_die($_); 22 Nagios::Plugin::Functions::_use_die($_);
23} 23}
24 24
25my $value_re = qr/[-+]?[\d\.]+/;
26my $value_re_with_negative_infinity = qr/$value_re|~/;
25sub _parse { 27sub _parse {
26 my $class = shift; 28 my $class = shift;
27 my $string = shift; 29 my $string = shift;
28 $string =~ s/^([^=]+)=([\d\.]+)([\w%]*);?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?;?([\d\.]+)?\s*//; 30 $string =~ s/^([^=]+)=($value_re)([\w%]*);?($value_re_with_negative_infinity\:?$value_re?)?;?($value_re_with_negative_infinity\:?$value_re?)?;?($value_re)?;?($value_re)?\s*//o;
29 return undef unless ((defined $1 && $1 ne "") && (defined $2 && $2 ne "")); 31 return undef unless ((defined $1 && $1 ne "") && (defined $2 && $2 ne ""));
30 my $p = $class->new( 32 my $p = $class->new(
31 label => $1, value => $2+0, uom => $3, warning => $4, critical => $5, 33 label => $1, value => $2+0, uom => $3, warning => $4, critical => $5,