Posted on 08-05-2009
Filed Under (技术) by waterlin

最近在用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里。

这样,以后就再也不用敲一长串的字符了。

© 2009, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

(0) Comments    (765) Views    Read More   
Post a Comment
Name:
Email:
Website:
Comments: