循环Perl数组

时间:2015-10-24 18:13:39

标签: perl

我对Perl非常陌生,所以我很抱歉这是一个非常简单的问题,我正在创建一个带有数组并随机返回的小程序,问题是我不确定我是否理解如何返回数组随机排序在Perl中。我希望这个数组随机返回50次:

 x @array = ("O", "I", "S", "Z", "L", "J", "T")
 print x @array = rand(@array);

正如你所看到的,我已尝试过rand函数,但它在输出中给出了这个错误:

  

在random.pl lone 1中找到运算符所在的数组,在random.pl第1行的行结束语法错误处,在“x @ array”附近执行   random.pl由于编译错误而中止。

正如你所看到的,如果有人能帮助我的话,我是Perl的新手,我将不胜感激

1 个答案:

答案 0 :(得分:5)

您可以使用List::Util中的shuffle函数随机对数组元素进行排序:

use warnings;
use strict;
use List::Util qw(shuffle);

my @array = ("O", "I", "S", "Z", "L", "J", "T");
for (1..5) {
    print join ' ', shuffle(@array), "\n";
}

__END__

T J Z O S I L 
L Z I O S J T 
I O J Z T S L 
J O I Z L S T 
O I Z T S J L