當前位置:首頁 » Perl » Perl alarm()函數

Perl alarm()函數

Perl alarm()函數,alarm()函數學習例子,alarm()函數實例代碼,alarm()函數教學等

語法

alarm EXPR

alarm


定義和用法

設置“報警”,導致當前進程在EXPR秒內收到一個SIGALRM信號。如果EXPR被忽略,$ _的值來代替。實際的時間延遲是不準確的,因為不同的係統實現了不同的報警功能。實際時間可能是可達的第二或小於所請求的值。 在任何一個時間內隻能設置一個鬨鐘定時器。如果計時器已經運行,並且您調用新的報警功能,報警定時器複位到新的值。A running timer can be reset without setting a new timer by specifying a value of 0.

返回值

  • 一個整數,先前的定時器的剩餘數目的秒數。

例子

這裡是源代碼,使用alarm()函數調用。

 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 - by www.gitbook.net
    }
    else {
    	# didn't
    }