Sure it's not needed to make it workable, but as I'm sure was pointed out previously also, 90% of the scripting language isn't needed. While loops exist despite being fully emulatable by goto's but they're in the language because they provide greater readability and save the need to use goto (which can often be misused). The same reasoning applies to switch/case statements - arguably even more so since the goto workaround is more complex and error-prone than the goto equivalent of a while loop.

Spelling mistakes, grammatical errors, and stupid comments are intentional.