BASIC case statements are not just jump labels like
they are in some languages: instead, every line is
interpreted as it runs, giving you enormous flexibility:
select case True
case j$ like "[abcd][1234]"
...
case j$ like "fred*"
...
case 0 <> instr("a",j$)
...
case len(j$) > 5
...
case eval(j$ & " In " & "('x','y','z')")
...
case else
select case j$
case "1"
...
case str(MyFunc(j$) or MyArray(val(j$)))
...
case eval(j$)
...
end select
end select
(david)