Perl報警函式



描述

此函式設定“警報”,導致當前程序在 EXPR 秒後收到 SIGALRM 訊號。如果省略 EXPR,則使用 $_ 的值。

實際時間延遲不精確,因為不同的系統實現報警功能的方式不同。實際時間可能比請求值多或少一秒。你一次只能設定一個警報計時器。如果計時器正在執行,而你對警報函式進行新的呼叫,則警報計時器重置為新值。可以重新設定正在執行的計時器,而無需指定值 0 來設定新的計時器。

語法

以下是此函式的簡單語法 −

alarm EXPR

alarm

返回值

此函式返回整數值,即為上一個計時器剩餘的秒數。

示例

以下是顯示基本用法的示例程式碼 −

#!/usr/bin/perl

eval {
   local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
   alarm $timeout;
   $nread = sysread SOCKET, $buffer, $size;
   alarm 0;
};
if ($@) {
   die unless $@ eq "alarm\n";   # propagate unexpected errors
      # timed out
} else {
   # didn't
}
perl_function_references.htm
廣告
© . All rights reserved.