# Adjust truth value tests & returned truth values as you like. sub short_circuit_list_and { my @list = @_; return unless scalar @list; my $and = 1; foreach my $i (@list) { return 0 unless $i; $and = $and && $i ? 1 : 0; } return $and; } #### # Adjust truth value tests & returns as you like. sub list_and { my @list = @_; return unless scalar @list; my $and = 1; foreach my $i (@list) { return 0 unless $i; $and &&= $i; } return $and ? 1 :0; }