如何使用perl输入Enter?

时间:2010-08-25 22:24:53

标签: perl

我有一个我需要调整的perl脚本。

脚本运行并要求我手动输入IP地址,但是当我要求输入IP地址时我想硬编码,所以我需要告诉脚本键入IP然后按回车键输入继续编写脚本。

有人可以告诉我怎么做吗?我敢肯定这可能是非常基本的东西,但我不是一个脚本编写者,所以我不知道该怎么做。

我需要输入IP并按Enter键的脚本如下所示:

print "\nPlease enter the IP address of the node:";
chomp($nodeIP= <STDIN>);

提前致谢。

2 个答案:

答案 0 :(得分:5)

最简单的是替换

print "\nPlease enter the IP address of the node:";
chomp($nodeIP= <STDIN>);

只是

$nodeIp="192.168.2.1";

当然使用你的地址,而不是我的路由器。

开始写你自己的stdin,或者模拟击键很麻烦。

您不需要chomp()方法,因为它只用于从行的末尾删除Enter。

答案 1 :(得分:0)

您是否尝试使用另一个脚本自动执行一个脚本?如果是这种情况,您最好使用名为expectExpect: A Tool for Automating Interactions的工具。我已经将它用于一些奇怪的安装脚本。

如果您要做的是修改Perl脚本以等待用户提示,那么我将替换:

print "\nPlease enter the IP address of the node:";
chomp($nodeIP= <STDIN>);

使用

$nodeIP = "1.2.3.4";
print "\nThe IP is $nodeIP.  If this is correct press ENTER to continue.\n";
<STDIN>

如果正在等待 ENTER 键,请按下STDIN并将其扔掉。