新手请教:perl与terminal互动的问题

新手请教:perl与terminal互动的问题

刚刚学习perl,觉得perl很有意思,于是尝试着来做一些实际的应用,现在遇到了一个问题,还请各位不吝赐教:
在solaris系统下,我用terminal远程登录到主机1,然后再从主机1登录到主机2,从主机2登录到主机3,基本上terminal中的命令就是rlogin 主机名 -l 用户名,然后等提示输入密码后就输入密码登录成功。现在我想用perl来自动实现这个登录过程,不知有什么办法来实现?
perldoc Expect

一点经验:
如果有一系列的命令, 可以将它们以shell语法写在一个单独的文件中,
(其实也就是一个shell script, 只不过单独执行它不能达到目的)

然后用Expect来执行该文件中的每一行(无视注释和空行), 并自动化交互.


这样, 控制程序和命令分离, 很便于维护.

能否给一些进一步的提示呢,需要什么模块呢?我用的系统不能安装新模块的
Expect应该是会有的....

你perl -e 'use Expect;'
如果不出错, 那就有.



晚上我贴个例子给你.
非常感谢!!

但是确实没有Expect这个模块,我的perl版本是5.8.5,solaris自带的
而且我用的Windows中装的ActivePerl5.8.8也没有这个模块


QUOTE:
原帖由 chongyangli 于 2007-9-26 17:19 发表
非常感谢!!

但是确实没有Expect这个模块,我的perl版本是5.8.5,solaris自带的
而且我用的Windows中装的ActivePerl5.8.8也没有这个模块

Win上的确没有.
Perl Expect用到了POSIX的一些东西(没记错的话.....), 所以目前没法在WIN上用.
perldoc Expct中的FAQ应该有提到这个问题.

我也是Saloris, perl是5.8.0
你可以在系统中找一下, 除了perl之外, 有没有perl5什么的之类的其他link....
仔细找过了,系统的perl中确实没有Expect模块,有没有办法不用这个模块来实现我的问题呢?