#!/usr/bin/perl -w
use strict;
use warnings;
use POSIX ":sys_wait_h";
my $var1 = 3;
my $var2 = 5;
system ("./perl651.sh", $var1, $var2);
my $status = $?;
if ($status == -1)
{
print "failed to execute: $!\n";
}
elsif (WIFEXITED($status))
{
print "exited with return code ".WEXITSTATUS($status)."\n";
}
elsif (WIFSIGNALED($status))
{
print "terminated by signal ".WTERMSIG($status)."\n";
}
else
{
print "other status $status\n";
}
####
#!/bin/sh
if [ $# -ne 2 ]
then
echo "Expecting 2 arguments, only $# provided"
exit 1
fi
# return code is sum of two arguments
RC=`expr $1 + $2`
echo "Sum of $1 + $2 is $RC"
exit $RC;
####
Sum of 3 + 5 is 8
exited with return code 8