ここはもっとシンプルに書けると思うので試してみましょう。else使わずにifのみで`$endFlag`の判定が出来ると思います。
あと173行目で`$endFlag`が真であればbreakする処理があるので、ここではbreakする処理は書かない方がよりシンプルになります。