An "exit code" says to me that this is single integer value from returned to the O/S, not a multi-valued thing or data structure - an "exit code" is an integer in Windows or Unix.
I think you mean to check the return array value from a subroutine? This code checks that the main program only got one returned value and that that single value is "3".
Update: well if the OP's intention is that should work for anything but 3, then the modifications should be obvious.#!usr/bin/perl -w use strict; my @result; @result = X(); print "array returned from sub X is: ", @result,"\n"; if ((@result == 1) and ( grep {$_ == 3}@result )) { print "Sub X passes the test", @result,"\n"; } else { print "@result: for Sub X fails the test\n"; } print "\n"; @result = Y(); print "array returned from Sub Y is: ", @result,"\n"; if ((@result == 1) and ( grep {$_ == 3}@result)) { print "Sub Y @result passes the test\n"; } else { print "Sub Y @result fails the test\n"; } print "\n"; sub X { return (1,2,3,4,5,6,7,8,9); } sub Y { return (3); } __END__ array returned from sub X is: 123456789 1 2 3 4 5 6 7 8 9: for Sub X fails the test array returned from Sub Y is: 3 Sub Y 3 passes the test
In reply to Re: Do not run code even if one element has matched exit code value
by Marshall
in thread Do not run code even if one element has matched exit code value
by jayu_rao
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |