The problem is ,in the following .
$nbArguments = $#ARGV + 1;
print "number of arguments: $nbArgumentsn";
exit(1) unless $nbArguments == 5;
Here you are checking the number of arguments is five.
So it will fail if you are giving input in the following format.
1 + 2 3
So that time you need to check the number of arguments is equal to four.
If you want to give input like,
1 + 2 + 3
then that time you need to check the number of arguments is equal to five.And you need to change the following part of code also.
your code,
$a = $ARGV[0];
$operation = $ARGV[1];
$b = $ARGV[2];
$c = $ARGV[3]
Change into,
$val1 = $ARGV[0];
$operation1 = $ARGV[1];
$val2 = $ARGV[2];
$operation2 = $ARGV[3]
$val3=$ARGV[4]
These changes are needed only in the case of if you are giving input in the format 1 + 2 + 3 .