Chris,

--- "Vidal, Christopher, SOLCM" <[EMAIL PROTECTED]> wrote:
> Using the Telnet.pm mod,  How do I put my unix prompt into the PROMPT
> scalar ?
> 
> My unix profile prompt is :
> 
> uid=`whoami`
> system=`hostname`
> PS1=$system" "$uid" "\\!:" "
> 
> #! /opt/perl5/bin/perl
> require '/tools/mns/bin/Telnet.pm';
> #
> $username = "wannabperlguy" ;
> $passwd = "needslotsahelp";
>     $t = new Net::Telnet (Timeout => 10,
>                           Prompt => '`hostname`" "`whoami`);
>     $t->open("1.2.3.4");
>     $t->login($username, $passwd);
>     @lines = $t->cmd("/usr/bin/who");
>     print @lines;

I don't think you can do command substitution like this.  Maybe if it was
done before the compile stage (dunno).

Try using a literal string.  Example, I used this string to log in to 450
different servers (each had a the server name embedded in the prompt,
s0001u01, s0002u01, s0003u01, etc):

  $t = new Net::Telnet (
        Timeout    => 15,
        Prompt     => '/\([EMAIL PROTECTED]):.*> $/' );

Note:  special perl characters MUST be espcaped (as in the above).  You can
use '.' for single character substitution, and '*' for multiple characters
(as you might expect).  Note too that the trailing '$' above signifies
end-of-string that telnet.pm will scan to indicate you're at a prompt (ie, my
prompt might be:  "([EMAIL PROTECTED]):/local/usr/apps > ".  

You're missing the '/' to indicate your prompt string set, and the final '$'.
 Concatenate the variables you want into a single variable and do something
like

        Prompt => '/$myPrompt$/' );


HTH,
JW


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to