Where, masks the evaluation of expression and assignments of values in array
assignment statements, a
Where(expr test, stmt* body, stmt* orelse)
test contains condition or expression to be tested.
body contains statement body.
orelse contains the else condition if
where is not true or served.
Where statement masks the evaluation of expression and assignments of values in array assignment statements. It does this according to the value of logical array expression.
where statement is not the first statement of
where construct, it can
be used as the terminal statement of a
do while construct.
program main real :: x(10) x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] where (x/=5) x = 32.0 elsewhere x = 0.0 end where print *, x end program