while (<>) {
s/[\r\n]//g;
$data[$.] = $_;
}
srand();
for ( $i = 1; $i <= $.; $i++ ) {
&shuffle( $i );
}
for ( $i = 1; $i <= $.; $i++ ) {
printf( "%s\n", $data[$i] );
}
sub shuffle
{
$num = int( rand( $. )) + 1;
$tmp = $data[$_[0]];
$data[$_[0]] = $data[$num];
$data[$num] = $tmp;
}
exit;
1 2 3 4 : 99
とタイプします。 順番がぐちゃぐちゃになった出力が得られると思います。c:\perl> perl rand.pl num.txt
Copyright © 2004 TKEN