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