my @a = (0..5);

while(@a) {
  my $rand = splice @a, int(rand(scalar @a)), 1;
  print "$rand\n";
}

こういう事じゃね?