アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。

perlにて、Time::Pieceモジュールを使った
プログラムで質問があります。

my $obj = Time::Piece->new;
my $num = $obj->epoch . $$ . time . int [ ] . rand

上のロジックで、2行目の、「epoch」をつかった部分
が、どのような事をしているのか理解できません。

よろしくお願い致します。

A 回答 (3件)

Time::Pieceについては、perldocを読むとわかります。


で、epochメソッドが何をしているのかというと「epochからの秒」を返すようです。

ちなみにepochは何なのかというと、ここで説明するよりも以下のURLの方が分かりやすいと思うのでそちらをどうぞ。
http://tehanu.hpcl.titech.ac.jp/time/utctai.html

参考URL:http://tehanu.hpcl.titech.ac.jp/time/utctai.html

この回答への補足

回答ありがとうございます。
perldocにて調べてみたのですが、どうも英語が得意ではないので・・・・。

ご説明いただいた内容で、「epoch」についてはわかりました。

「$$ . time . int [ ] . rand」の部分はどのような
意味なのでしょうか。

「rand」は関数ということは分かるのですが、組み合わされているので、ロジックの解釈ができません。

よろしくお願い致します。

補足日時:2004/05/25 20:17
    • good
    • 0

> $tmp = substr($md5->add(Time::Piece->new->epoch . $$ . time . int [] . rand)->hexdigest, 0, 10)


> ランダムに数値を発生させて、上10桁をとり、
> その値を、認証する際の値にするようです。

なるほど。
認証に使う種作りをしていたわけですか。
・・・って途中を切らずに全文を掲示していただかないと回答者も困りますので、これから何か質問することがあれば(教えて!gooに限らず)、おしまずに必要最低限のことは書いてください。
    • good
    • 0

$$はスクリプトを実行しているPerlのプロセス番号が入っている特殊変数。


timeは1970年1月1日00:00:00から現在時刻までの秒数。
intは小数点以下を切り捨てて整数部分を返す関数。(ここでは空なので0になる)
randは0から引数に指定した数値までの乱数を発生させる関数。(ここでは引数がなぜかない?)

あと行の終わりにも関わらず;(セミコロン)がないですがこれでほんとに一行ですか?

このままいくと、いままで上げた上記のものをepochの返値といっしょに順番に繋げていってそれを$numに突っ込むだけです。

結局何がしたいのかは知りません。(w

この回答への補足

回答ありがとうございます。
「.」は結合子だったんですね。

ロジック全体はこのようになっております。
$tmp = substr($md5->add(Time::Piece->new->epoch . $$ . time . int [] . rand)->hexdigest, 0, 10)

ランダムに数値を発生させて、上10桁をとり、
その値を、認証する際の値にするようです。

補足日時:2004/05/25 20:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!