=encoding euc-jp =head1 NAME =begin original Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers =end original Time::HiRes - 高精度のalarm, sleep, gettimeofday, インターバル・タイマー =head1 SYNOPSIS use Time::HiRes qw( usleep ualarm gettimeofday tv_interval ); usleep ($microseconds); ualarm ($microseconds); ualarm ($microseconds, $interval_microseconds); $t0 = [gettimeofday]; ($seconds, $microseconds) = gettimeofday; $elapsed = tv_interval ( $t0, [$seconds, $microseconds]); $elapsed = tv_interval ( $t0, [gettimeofday]); $elapsed = tv_interval ( $t0 ); use Time::HiRes qw ( time alarm sleep ); $now_fractions = time; sleep ($floating_seconds); alarm ($floating_seconds); alarm ($floating_seconds, $floating_interval); use Time::HiRes qw( setitimer getitimer ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF ); setitimer ($which, $floating_seconds, $floating_interval ); getitimer ($which); =head1 DESCRIPTION =begin original The C module implements a Perl interface to the C, C, C, and C/C system calls, in other words, high resolution time and timers. See the L section below and the test scripts for usage; see your system documentation for the description of the underlying C or C, C, C, and C/C calls. =end original C モジュールはC,C, C, そして C/C システムコーム、言い換えれば高精度の時刻と タイマーへのへのPerlインターフェースを実装します。 使い方については下記のLセクションとテスト・スクリプトをご覧ください; 基になっているC あるいは C, C, C, そして C/Cについては、あなたのシステムのドキュメントを ご覧ください。 =begin original If your system lacks C or an emulation of it you don't get C or the one-argument form of C. If your system lacks all of C, C, and C, you don't get C or C. If your system lacks both C and C you don't get C or C. =end original あなたのシステムにCやそのエミュレーションがなければ、 Cや引数1つの形でのCは使えません。 あなたのシステムにC, C, そして C,の全てが なければ、C や Cは使えません。 あなたのシステムにC and C の両方がなければ C や Cが使えません。 =begin original If you try to import an unimplemented function in the C statement it will fail at compile time. =end original Cステートメントのなかで実装されていない関数をインポートしようとすれば、 コンパイル時に失敗します。 =begin original If your subsecond sleeping is implemented with C instead of C, you can mix subsecond sleeping with signals since C does not use signals. This, however is unportable, and you should first check for the truth value of C<&Time::HiRes::d_nanosleep> to see whether you have nanosleep, and then carefully read your C C API documentation for any peculiarities. (There is no separate interface to call C; just use C or C with small enough values.) =end original あなたの1秒以下のsleepがCではなくCで実装されていれば、 Cはシグナルを使わないので、1秒以下のsleepとシグナルを混在させる ことができます。しかしこれは移植性を欠きます。そしてまず最初にnanosleepを 持っているのか、C<&Time::HiRes::d_nanosleep>の値がtrueであるかチェック しなければなりません。それから特有なことがないか慎重にC C API ドキュメントを読まなければなりません。(Cを呼び出す別の インターフェースはありません;十分に小さな値で単にCや Cを呼ぶだけです。) =begin original Unless using C for mixing sleeping with signals, give some thought to whether Perl is the tool you should be using for work requiring nanosecond accuracies. =end original sleepとシグナルを混在させるためにCを使わなければ、 Perlがナノ秒の正確さを要求される仕事のために使うべきツールであるか という疑問があります。 =begin original The following functions can be imported from this module. No functions are exported by default. =end original このモジュールから以下の関数をインポートすることができます。 デフォルトでエクスポートされる関数はありません。 =over 4 =item gettimeofday () =begin original In array context returns a two-element array with the seconds and microseconds since the epoch. In scalar context returns floating seconds like C (see below). =end original 配列コンテキストではエポックからの秒とマイクロ秒2つの要素の配列を返します。 スカラー・コンテキストでは、Cのように秒を 浮動小数点数で返します(下記参照)。 =item usleep ( $useconds ) =begin original Sleeps for the number of microseconds specified. Returns the number of microseconds actually slept. Can sleep for more than one second, unlike the C system call. See also C below. =end original 指定されたマイクロ秒数、sleepします。実際にsleepしたマイクロ秒数を 返します。Cシステム・コールとは違い、1秒以上sleepすることができます。 下記のCもご覧ください。 =item ualarm ( $useconds [, $interval_useconds ] ) =begin original Issues a C call; the C<$interval_useconds> is optional and will be zero if unspecified, resulting in C-like behaviour. =end original Cコールを発行します;C<$interval_useconds>はオプションで、 指定されなければ0になり、その結果はCのような動きをします。 =item tv_interval tv_interval ( $ref_to_gettimeofday [, $ref_to_later_gettimeofday] ) =begin original Returns the floating seconds between the two times, which should have been returned by C. If the second argument is omitted, then the current time is used. =end original 2つの時刻の時間を浮動小数点の秒数を返します。2つの時刻はCで 返されたものでなければなりません。2番目の引数が省略されると、 現在の時刻が使われます。 =item time () =begin original Returns a floating seconds since the epoch. This function can be imported, resulting in a nice drop-in replacement for the C