2015-02-05 43 views
0

我想知道如何在匹配表達式時使telnet waitfor函數進入errmode。當表達式不匹配時,它將等待超時指定的時間並繼續。例如:在telnet waitfor中匹配表達式時如何讓perl腳本死掉?

$ok = my_tel->waitfor('/I have matched/', Timeout => 5) 
if(ok){ 
    die "I have matched. Time to die /n"; 
} 

用上述代碼,然而,該腳本將檢查在遠程登錄,超時,並且如果執行過部分之前退出腳本。

回答

0

我假設您使用的是Net::Telnet

如果指定的return錯誤模式則waitfor將返回undef,而不是死亡。您的代碼看起來像這樣

my $matched = $my_tel->waitfor(
    Match => '/I have matched/', 
    Timeout => 5, 
    Errmode => 'return', 
); 

if ($matched) { 
    die "I have matched. Time to die/n"; 
} 
+0

Borodin,你是對的我正在使用Net :: Telnet。這正是我想要的功能。謝謝你的幫助。 – 2015-02-10 18:21:11