sleep EXPR
引数で指定した秒数だけ、スクリプトの実行をスリープさせます。引数を省略すると、永久にスリープします。スリープ中のプロセスは、SIGALRMを送ることで実行を再開することができます。返却値はスリープした秒数です。
プロセスについては用語集「プロセス」を参照してください。
sleepの使い方
# よくあるファイルロック処理
$retry = 3;
sub open_lock{
my $filepath = shift; # ファイルパスを受け取る
while ( -f $filepath ){
if ( --$retry <= 0 ){
unlink( $filepath ); # ファイルを削除
return;
}
sleep(2);
}
unless ( open( FH, ">$filepath" ) ){
return;
}
close( FH );
}