really transmit the exit value.
authorHeiko Schlittermann (JUMPER) <hs@schlittermann.de>
Wed, 02 Nov 2011 18:08:04 +0100
changeset 5 3ce1738b5b5c
parent 4 f773a81fcff5
child 6 aa38ce4e9c64
really transmit the exit value.
submit-via-nsca.pl
--- a/submit-via-nsca.pl	Wed Nov 02 18:03:01 2011 +0100
+++ b/submit-via-nsca.pl	Wed Nov 02 18:08:04 2011 +0100
@@ -2,7 +2,6 @@
 # © 2011 Heiko Schlittermann <hs@schlittermann.de>
 # source: https://ssl.schlittermann.de/hg/check-by-nsca
 
-
 use strict;
 use warnings;
 use Sys::Hostname;
@@ -42,18 +41,21 @@
         "d|debug" => \$o{debug},
     ) or pod2usage();
 
-    my $cmdline =
-        "send_nsca -H '$o{nsca_host}'" 
-        . (defined $o{nsca_port} ? " -p $o{nsca_port}" : "");
+    my $cmdline = "send_nsca -H '$o{nsca_host}'"
+      . (defined $o{nsca_port} ? " -p $o{nsca_port}" : "");
 
     $_ = `@ARGV`;
-    my $rc = $?;
+    my $rc = $? >> 8;
 
     if ($o{svcname} eq "-") {
         /^(?<service>\S+)\s/ or die "$ME: Can't guess servicename!\n";
         $o{svcname} = $+{service};
     }
-    $_ = join "\t" => $o{hostname}, length($o{svcname}) ? $o{svcname} : (), $_;
+    $_ =
+      join "\t" => $o{hostname},
+      length($o{svcname})
+      ? $o{svcname}
+      : (), $rc, $_;
 
     if ($o{debug}) {
         print $cmdline, "\n$_\n";
@@ -63,8 +65,9 @@
     open(SEND, "|$cmdline") or die "$ME: Can't open `$cmdline': $!\n";
     print SEND $_;
     close(SEND)
-        or die  $! ? "$ME: Error closing `$cmdline': $!\n"
-                   : "$ME: Error status from `$cmdline': $?\n";
+      or die $!
+      ? "$ME: Error closing `$cmdline': $!\n"
+      : "$ME: Error status from `$cmdline': $?\n";
 
 }