Can someone please give me an example how to submit external command using perl script.  I am trying to do this and its now working.  The command I am passing to named pipe is something like this.  Thanks<br>"ACKNOWLEDGE_HOST_PROBLEM;hostname;1;1;1;1;sr2690;testing<br>
"1233162775<br><br><br>my code is like this.<br><br><br>#!/usr/bin/perl <br>#use strict;<br>#use Getopt::Long qw(:config no_ignore_case);<br>use warnings;<br>use Data::Dumper;<br><br>use Getopt::Long ;<br><br>my ($action, $host, $service, $username, $comment, $HELP);<br>
my $now=`date +%s`;<br>chomp ( $now );<br>my $commandfile='/var/log/nagios/rw/nagios.cmd';<br><br>open CF, ">$commandfile" or die $!;<br><br>my $usage = <<EOF;<br>  usage: $0  -a action -H host -s service -u username -c commnent <br>
<br>Options:<br> -a --action<br> -m, --host=STRING<br>    Host name or IP Address<br> -s, --service=STRING<br>    Service Name <br> -u, --username=STRING<br>    The user to authenticate<br> -c, --comment=STRING<br>     Comment here<br>
 -h, --help<br>    Print detailed help screen<br>EOF<br><br># handle cmdline args<br>GetOptions( "a|action=s"   => \$action,<br>            "m|host=s"     => \$host,<br>        "s|service=s"  => \$service,<br>
        "u|username=s" => \$username,<br>        "c|comment=s"  => \$comment,<br>        "h|help"       => \$HELP<br>             );<br>#print "$usage" if ($HELP && $action eq '');<br>
if ( $HELP && ( ! ( defined ( $action) ) ) ) {<br>print "$usage";<br>}<br>&process_command();<br><br>sub process_command {<br>  #if (( $action eq 'status') || ( $action eq 'check') ||  ( $action eq 'reschedule') <br>
  #       ||  ( $action eq 'acknowledge') ||  ( $action eq 'ack') || ($action eq 'dis_check') <br>  #       || ($action eq 'ena_check') || ($action eq 'dis_not') || ($action eq 'ena_not')) { <br>
   <br>  if ( $action eq 'acknowledge' ) {<br>    process_acknowledge ();<br>  }<br>  elsif ( $action eq 'reschedule' ) {<br>    process_reschedule ();<br>  }<br>  else {<br>print " Only possible actions are status check reschedule acknowledge disable_check enable_check disable_notification  and enable_notification\n";<br>
  }<br>}<br><br>sub process_acknowledge { <br>  if ( defined ( $service ) ) {<br>    send_to_named_pipe ( "ACKNOWLEDGE_SVC_PROBLEM;$host;$service;1;1;1;$username;$comment" );<br>  }<br>  else {<br>    send_to_named_pipe ( "ACKNOWLEDGE_HOST_PROBLEM;$host;1;1;1;1;$username;$comment" );<br>
}<br>}<br><br>sub process_reschedule {<br>  if ( defined ( $service ) ) {<br>    send_to_named_pipe ( "SCHEDULE_FORCED_SVC_CHECK;host1;service1;1110741500" );<br>  }<br>  else {<br>    send_to_named_pipe ( "SCHEDULE_FORCED_HOST_CHECK;$host;1110741500\n" );<br>
  }<br>}<br>sub send_to_named_pipe {<br>  my ($command )  = @_;<br>  chomp ( $command );<br><br>  if ( defined ( $command ) ) {<br>    print CF "\"$command\n\"$now";<br><br><br>  }<br><br>} <br>close CF;<br>
<br clear="all"><br>-- <br>Cordially,<br>Shadhin Rahman<br>