LOGICAL :: L = .FALSE. SELECT CASE (L) CASE (.TRUE.) STOP 1 CASE (.FALSE.) CONTINUE CASE DEFAULT STOP 2 END SELECT SELECT CASE (L) CASE (.TRUE., .FALSE.) CONTINUE CASE DEFAULT STOP 3 END SELECT SELECT CASE (L) CASE (.FALSE.) CONTINUE CASE DEFAULT STOP 4 END SELECT SELECT CASE (L) CASE (.NOT. .TRUE.) CONTINUE CASE DEFAULT STOP 5 END SELECT SELECT CASE (.NOT. L) CASE (.TRUE.) CONTINUE CASE DEFAULT STOP 6 END SELECT SELECT CASE (Truth_or_Dare() .OR. L) CASE (.TRUE.) CONTINUE CASE DEFAULT STOP 7 END SELECT CONTAINS FUNCTION Truth_or_Dare () LOGICAL Truth_or_Dare Truth_or_Dare = .TRUE. END FUNCTION END