# The Array object is used to iterate through an array, dereferencing to any
# depth. This means if an element is an array, next will get the elements from
# it in sequence.
use Array;
$array = new Array( @array);
while (my $scalar = $array->next()) {...}# dereferences @,\@,\%,$$,etc
# The array package also includes routines to shuffle elements in the array.
# It does a in-place fisher yeats shuffle to randomise order and can return
# a copy of the array or a reference to it.
Array::shuffle( \@array);
$array = Array::shuffle( \@array);
@array = Array::shuffle( @array);
# There are also static routines for returning a new array consisting
# of only unique elements in the original array. The method can return
# a copy or the array or a reference to it.
$array = Array::unique( \@array);
@array = Array::unique( @array);