You are correct in that if NetTelnet doesn't see the prompt, it will never issue the command. I had two problems when using that module to telnet from my Solaris system to the Vax,
1) - commands timing out
2) - never getting the prompt
For our vax, the prompt is $ - which I thusly defined as the prompt. However, set your script to make the dump log for Net::Telnet, and look thru the content. I found that somehow my $ sign was eaten in the translation, and had to define it as
$match = '/\[0c/';
After that, I've always caught the prompt correctly.
Another problem I had that caused timeouts was the error mode of the module.The default errmode is die if I recall correctly, which kept throwing the monkey wrench in my script. My code to avoid that looked like
$vax = new Net::Telnet(Prompt => $match);<br>
$vax->errmode("return");
While these may not exactly fit your problem, and seeing as how I'm answering this several months late, I hope it helps at all in some small matter. I'm just glad to know enough to comment on something now! =)