alarm


alarm EXPR

 EXPR秒後にSIGALRMシグナルを送るようにタイマーを設定します。戻り値は前回のタイマーの残り秒数です。
 EXPRに0を指定するとタイマーの設定を無効にします。
 WindowsのActivePerlではバージョンによってはalarm関数がサポートされていない場合があります。

サンプルプログラム

$SIG{ALRM} = \&time_out;

eval {
	my $alarm_time = 5;

	printf "%d秒以内に何か入力して下さい。\n", $alarm_time;

	alarm $alarm_time;
	my $input_string = <>;
	alarm 0;

	chomp $input_string;
	printf "%sが入力されました。\n", $input_string;

};

sub time_out {
	print "時間切れのため終了します。\n";
	exit 1;
}

関連項目

タイムアウト処理
sleep関数