プログラムを書く際に処理をタイムアウトさせたい場合というのはよくあると思います。 そんなときに便利なのが、alarmです。 今回は、Perlプログラムでalarmを使ってタイムアウト処理を実装したいと思います。 alarmは対象の処理が指定した時間(秒)たっても終了しない場合、SIGALRMシグナルを発生させます。 例として、ユーザからの入力を30秒でタイムアウトさせるプログラムを書いてみます。 #!/usr/bin/perl use strict; # タイムアウトするまでの時間(秒数) my $TIMEOUT = 30; print "What your name??: "; alarm($TIMEOUT); my $name = ; my $timeleft = alarm(0); print "Hello! $name"; alarmで囲った部分、ユーザからの入力待つ部分がタイムア