in reply to Net::Telnet with an uncooperative server.
After reading your post, I'm left with the impression that you're making guesses about the behavior of the device. I apologize if I'm making an incorrect assumption about that. Have you checked with documentation from the device's manufacturer? That would be my first step in debugging the situation.
Which methods from Net::Telnet are you using to issue commands and reading back the output? Based on your comments about prompts, I'm assuming that you're using the cmd method, which submits a command and retrieves the output. As an alternative, you could try a combo of using the print method to issue the command and use get, getline or getlines to retrieve the output.
Also, the log methods mentioned by regexes could prove to be useful in your debug efforts.