shuffle は、1 組 52 枚のカードを混ぜるサブルーチンです。
rand 関数を利用して 1 組のカードを混ぜています。
#カードを混ぜる
sub shuffle {
local($s);
#擬似乱数を初期化する
srand:
foreach $s ("S", "H", "D", "C") {#1 組 52 枚のカード
for (1 .. 13) {
push(@deck, "$s$_");
}
}
#@deck から 1 枚ずつ @stack に移動する
while ($#deck >= 0) {
push(@stack, splice(@deck, int(rand($#deck + 1)), 1));
}
}







