# 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; }