Hi nikita.af,
Try catching the SIGPIPE signal. Something like:
my $b_err = 0;
$SIG{'PIPE'} = sub { $b_err = 1 };
print $agent_socket $monitoring_node . ".lmonitor." . $monitoring_
+name . ".rtt.value=" . $latency . "\n";
if ($b_err) {
# .... Handle the SIGPIPE error
}
will likely work. If a SIGPIPE error happens while printing to the socket, the flag "
$b_err" gets set, and you can then handle the error appropriately.
Oh, one other note -- isn't:
print $agent_socket "$monitoring_node.lmonitor.$monitoring_name.rtt.v
+alue=. $latency .\n";
a lot easier to read than the original? ;-)
say
substr+lc crypt(qw $i3 SI$),4,5