在终端用Perl脚本自动补全输入内容
文章目录
最近在用Perl来做工作的时候,运行到一个地方,需要我输入一个设备名,以判断接下来应该做的步骤。每次运行到这里,我都是手动输入很长的设备名,比如说ciscocontenteng,每次这样输入,不仅累死人,还很容易出错。
这种情况下,可以用Term::Complete这个module来实现用tab键自动补全。用法非常简单,看代码就差不多能理解了:
use warnings;
use strict;use Term::Complete;
my @completion_list = (“atest”,”btest”,”cdtest”,”efgtest”);
my $input = Complete(‘please input the start character and use tab to complete: ‘, @completion_list);
#$input = Complete(‘prompt_string’, @completion_list);print “The input word is: “.$input;
在上面的代码里,我们设定了一个数组**@completion_list**,里面包含了需要补全的名称,Perl就是根据这个列表来对你输入的字符进行补全的。Complete函数是主导这个工作的核心,它的第一个参数是在终端上输出提示输入的说明,第二个参数就是能用于补全的词组列表。
运行这个脚本的时候,你按tab键,Perl会自动用列表中的词来帮你补全,你输入回车确定补全、输入结束后,Perl会把你输入的内容存到变量**$input**里。
这样,以后就再也不用敲一长串的字符了。
文章作者 cookwhy
上次更新 2009-05-08