adesso sai che il problema è lì.. controlla quei due if annidati nn setterai mai la $done a true e lui si incaponisce su quel ciclo... giustamente....