Com base apenas em seu título, uma instrução if
infinita é apenas um while
com a lógica ajustada de acordo.
Além disso, seu código é extremamente agitado e você precisa usar urgentemente alguma formatação.
Além disso, você deve ler seu erro . Ele afirma claramente que você tem parênteses extras em algum lugar, então dê uma olhada melhor em seu código e experimente encontrar uma solução. Para realmente fornecer uma resposta, direi agora que você precisa mover seu '$' antes de os parênteses começarem. É assim que as variáveis funcionam.
Por fim, verifique se seu título é relevante para sua pergunta no futuro.