Name
   Math::Disarrange::List - Generate all the disarrangements of a list.

Synopsis
    use Math::Disarrange::List;

    disarrange {say "@_"} qw(a b c);

    #  c a b
    #  b c a

Description
   Generate and process all the disarrangements of a list using the
   standard Perl metaphor. A disarrangement is a permutation of the
   original list in which no element is in its original position.

   "disarrange()" returns the number of disarrangements in both scalar and
   array context.

   "disarrange()" is easy to use and fast. It is written in 100% Pure Perl.

   Please note that the order in which the disarrangements are generated is
   not guaranteed, so please do not rely on it.

Export
   The "disarrange()" function is exported.

Installation
   Standard Module::Build process for building and installing modules:

     perl Build.PL
     ./Build
     ./Build test
     ./Build install

   Or, if you're on a platform (like DOS or Windows) that doesn't require
   the "./" notation, you can do this:

     perl Build.PL
     Build
     Build test
     Build install

Author
   [email protected]

   http://www.appappps.com

Acknowledgements
   With extensive and unfailing advice from Philipp Rumpf to whom I am
   greatly indebted.

See Also
   Math::Cartesian::Product
   Math::Permute::List
   Math::Subsets::List

Copyright
   Copyright (c) 2009 Philip R Brenan.

   This module is free software. It may be used, redistributed and/or
   modified under the same terms as Perl itself.