BLOGTIMES
2010/10/31

perlに1秒未満のsleepをさせるには

  perl 
このエントリーをはてなブックマークに追加

久しぶりにperlのスクリプトを書いていたら、sleepの引数がfloatにできなくてはまったのでメモ。

test.pl

#!/usr/bin/perl sleep (1.5);

これを実行すると、実際には1秒しかsleepしてくれません。

$ time ./test.pl real 0m1.004s user 0m0.001s sys 0m0.001s

この問題についてググってみるとTime::HiRes*1を使えばいいことが分かったので、モジュールをインストールして下記のようにプログラムを書き換えてみました。

test2.pl

#!/usr/bin/perl use Time::HiRes qw ( sleep ); sleep (1.5);

これでsleepを小数点対応にオーバーライドすることができました。

$ time ./test2.pl real 0m1.517s user 0m0.012s sys 0m0.002s

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3882
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン