Phoenix.pm: Net::Telnet
johngnub at cox.net
johngnub at cox.net
Wed Jan 14 13:24:57 CST 2004
The cmd method will hold data till the next prompt is found; So the distance of a cmd is the measure of prompt to prompt.
If you encounter a nasty prompt try this;
Issue a cmd to set the prompt right away.
@lines = $tango->cmd("PS1='foo';stty kill '^U';export TERM=vt100")
Now you can set the prompt to 'foo'
Prompt => '/foo/'o'
Or from the perldoc Net::Telnet:
" Use a combination of "print()" and "waitfor()" as an
alternative to "login()" or "cmd()" when they don't
what you want.
EXAMPLE, note the '/ is a gregex...
$t->waitfor('/continue:.*$/');
$t->print("");
Examples on request...
>
> From: Matt Alexander <m at pdxlug.org>
> Date: 2004/01/14 Wed AM 10:06:56 EST
> To: PHXPERL <phoenix-pm-list at happyfunball.pm.org>
> Subject: Phoenix.pm: Net::Telnet
>
> I'm trying to use Net::Telnet to connect to a device that simply outputs
> data after a connection is made. There's no prompt and there's no
> indication of when it's done sending data, however I know that after about
> 10 seconds that I should have received all the data that was available. I
> then want to save all the output from this device to a log file.
>
> I think the problem with my script is that it's looking for a prompt from
> the device. I've tried setting Prompt => undef and Prompt => "", but
> these both generate warnings and I never retrieve any data.
>
> Any suggestions?
> Thanks,
> ~M
>
More information about the Phoenix-pm
mailing list