简单的Perl语法解释

时间:2014-11-17 21:49:08

标签: perl

我试图将Perl中的函数翻译成我从未编入Java的函数。我理解除了这一行之外的代码。

srand(time() ^($$ + ($$ <<15))) ;

我相信srand就像Java中的Random.nextInt(),但我不知道在Perl中$$ + $$的含义以及$$&lt;&lt; 15.我确定这可能是简单的Perl语法,但我找不到简单的解释。

上下文行

#!/usr/bin/perl
srand(time() ^($$ + ($$ <<15))) ;
for ($x=0;$x<10;$x++) {
print rand() . "\n";
}

1 个答案:

答案 0 :(得分:4)

srand为随机数生成器播种。这类似于Java中的new Random(seed)rand()Random.nextInt()更相似。实际上没有任何合理的理由,因为在第一次使用rand()时它将被隐式调用(并且可能有更好的种子)。里面的东西基本上只是试图使用PID获得一些随机数据。