I don't understand the two conditions, so I'll try one each way. Suppose we have a foreach loop that loads @flds based on some other array of values, @vals. If all five fields are available then run the sub:
OUTER_LOOP:
foreach my $val (@vals) {
@flds = something to do with $val;
foreach my $check (@flds[9..13]) {
next OUTER_LOOP unless $check;
}
&add_sub ():
print "</tr>\n";
}
If any one is available then run the sub:
foreach my $val (@vals) {
@flds = something to do with $val;
my $go_ahead;
foreach my $check (@flds[9..13]) {
if ($check) {
$go_ahead = 1;
last;
}
}
if ($go_ahead) {
&add_sub ();
print "</tr>\n";
}
}
Something like that?