in reply to Do not run code even if one element has matched exit code value

A list in Perl is pretty much like an array although there are some fine differences between these two concepts. I think your nomenclature {} vs () and description may not be the best. The {} does not describe an array or a "list".

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".

#!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
Update: well if the OP's intention is that should work for anything but 3, then the modifications should be obvious.
  • Comment on Re: Do not run code even if one element has matched exit code value
  • Download Code