Lee Cullip wrote, on Wednesday, November 20, 2002 08:06
:   $prmpt =~  /^(.*:\/home\/oracle[:=>]{1,2})/;
:   $telnet = new Net::Telnet(-prompt => $prmpt, -Errmode => 'die');

: I still get the following error message though :
: 
: bad match operator: opening delimiter missing: 
: ^(.*:/home/oracle[:=>]{1,2})

OK, I've read the Net::Telnet doc (perldoc is your friend!), and I
can tell what's going wrong. The error message is from Net::Telnet,
not Perl itself! You need to create your "$prmpt" matching expression
in single quotes, like this:

   $prmpt = '/^.*:\\/home\\/oracle[:=>]{1,2}/';

I escaped the backslashes and removed the capturing parentheses,
which you weren't using. I'd prefer not to have backslashes at all,
but I don't know if Net::Telnet allows alternate delimiters:

   $prmpt = 'm!^.*:/home/oracle[:=>]{1,2}!';

You could try it.

Finally, could ":/home/oracle:" show up more than once in the prompt?
If not, I'd eliminate the initial bit. The only difference between

   /^.*BLAH/ and /BLAH/

is that the first one finds the *last* BLAH, and the second finds the
*first* BLAH. If there's only one, use the second form, as it's much
more efficient:

   $prmpt = '/:\\/home\\/oracle[:=>]{1,2}/'; # or the m!..! form

Good luck,

Joe

==============================================================
          Joseph P. Discenza, Sr. Programmer/Analyst
               mailto:[EMAIL PROTECTED]
 
          Carleton Inc.   http://www.carletoninc.com
          574.243.6040 ext. 300    fax: 574.243.6060
 
Providing Financial Solutions and Compliance for over 30 Years
***** Please note that our Area Code has changed to 574! ***** 

_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to