Skip Menu |

This queue is for tickets about the Monitoring-Plugin CPAN distribution.

Report information
The Basics
Id: 77396
Status: new
Priority: 0/
Queue: Monitoring-Plugin

People
Owner: Nobody in particular
Requestors: Stephan.Hradek [...] vodafone.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: 2 Bugs in Nagios::Plugin
Date: Thu, 24 May 2012 07:39:19 +0000
To: "bug-Nagios-Plugin [...] rt.cpan.org" <bug-Nagios-Plugin [...] rt.cpan.org>
From: "Hradek, Stephan, Vodafone Group" <Stephan.Hradek [...] vodafone.com>
Hi! I already asked at the perlmonks for it: http://www.perlmonks.org/?node_id=972026 But here for your convenience, repeated: I'm doing my first Nagios plugin based on Nagios::Plugins and I noticed that it automatically supports --extra-opts. So I did my first attempt with this feature as it seem to well fit my needs. unfortunately I observed 2 strange behaviours: 1. I had an argument "msg|message" and this led to some weird parsing of the extra opts. My config file was like this: [experiment] percent=1 message=%d OK The result was percent was undefined and msg was set to "--percent". When I changed the argument to "message|msg", it worked. Now percent is set to 1 and message is set to '"%d OK"'. And this leads to my second strange behaviour: 2. Every value, which contains spaces, is automatically quoted. So instead of having just %d OK I get "%d OK" . and I think this is a bug. Update Some code to play with: use strict; use warnings; use Nagios::Plugin; use Data::Dumper; my $n=Nagios::Plugin->new(version=>1,usage=>""); $n->add_arg("percent","",undef,0); $n->add_arg("msg|message=s","",undef,0); $n->getopts(); print Dumper $n->opts Output is (shortened) $VAR1 = bless( { : : 'msg' => '--percent', 'verbose' => 0, 'usage' => undef, 'percent' => undef, : }, 'Nagios::Plugin::Getopt' ); Which is wrong. If you change "msg|message=s" to "message|msg=s" the output will be almost correct: $VAR1 = bless( { : : 'percent' => 1, 'version' => undef, 'message' => '"%d OK"', }, 'Nagios::Plugin::Getopt' ); More Updates Quoting isn't done properly, I think. When I use this configuration file: [experiment] percent=1 message="%d" OK I get a very unusual quoted string: ""%d" OK"