Package: nagios-plugins-contrib / 21.20170222

check_cups/monitoring-plugin Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
diff --git a/check_cups/check_cups b/check_cups/check_cups
index b202fbc..c376b1d 100644
--- a/check_cups/check_cups
+++ b/check_cups/check_cups
@@ -38,13 +38,33 @@ use warnings;
 # http://search.cpan.org/~rgarcia/perl-5.6.2/pod/perllexwarn.pod
 no warnings qw( redefine prototype );
 
+sub load_module {
+    my @names = @_;
+    my $module;
+    for my $name (@names) {
+        my $file = $name;
+        # requires need either a bare word or a file name
+        $file =~ s{::}{/}gsxm;
+        $file .= '.pm';
+        eval {
+            require $file;
+            $name->import();
+            $module = $name;
+		};
+		last if $module;
+    }
+    return $module;
+}
+
+my $plugin_module;
+
 BEGIN {
 
     # use Opsview libs
     use lib '/usr/local/nagios/perl/lib';
     use lib '/usr/local/nagios/lib';
 
-    use Nagios::Plugin;
+    $plugin_module = load_module( 'Monitoring::Plugin', 'Nagios::Plugin' );
 
     use Data::Dumper;
 
@@ -94,7 +114,7 @@ General Public Licence (see http://www.fsf.org/licensing/licenses/gpl.txt).
 This plugin was written at The Harvard-MIT Data Center
 (http://www.hmdc.harvard.edu) by Steve Huff (<shuff\@hmdc.harvard.edu>).
 LICENSE
-my( $plugin ) = Nagios::Plugin->new( 
+my( $plugin ) = $plugin_module->new(
                                     shortname   => 'check_cups',
                                     usage       => $usagemsg,
                                     version     => '0.2',