在終端用Perl指令碼自動補全輸入內容

來源:互聯網
上載者:User
最近在用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裡。
這樣,以後就再也不用敲一長串的字元了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.