**ePN /nagios-plugins/check_wmi_plus.pl: “Use of uninitialized value $opt in string eq at /usr/share/perl/5.x/Getopt/Long.pm line 487

If you get the above error message or a very similar one from Getopt::Long then there is a workaround you can apply to the Getopt module itself.

Locate Long.pm on your system. It might be /usr/share/perl5/Getopt/Long.pm or similar

Edit it and locate the code (which will be around the line number that the error message says):
while ( $goon && @$argv > 0 ) {

# Get next argument.
$opt = shift (@$argv);
print STDERR ("=> arg \"", $opt, "\"\n") if $debug;

Try modifying it to this:

while ( $goon && @$argv > 0 ) {

# Get next argument.
$opt = shift (@$argv) || '';
print STDERR ("=> arg \"", $opt, "\"\n") if $debug;
while ( $goon && @$argv > 0 ) {

You are basically just adding || ” in the place shown (which is 2 | (pipe characters) and 2 ‘ (single quotes).

Just be aware that if you apply this workaround then every time you upgrade Perl or whatever other package contains the Getopt module then you will need to reapply the fix.