!! +var+ +random+ +string+

tit:shuffle
type:$type_var
alias:randperm, randpermute
syntax:!shuffle [even|odd] ``n''\
!shuffle [even|odd] ``list''

mean:Randomly permutes a set of ``n'' elements. ``n'' must be a positive integer\
  not greater than 1024 in the first usage, or is the number of items in ``list'' in the second\
  usage. <br>\
  For the first usage, the command returns a comma-separated list ``i<sub>1</sub>, i<sub>2</sub>, ...,\
  i<sub>n</sub>'', where the items ``i<sub>k</sub>'' are\
  randomly ordered elements of the set ``{1,2,...,n}''. <br>\
  This command can be used in conjunction with commands\
  $(ref1)cmdlist_item_&+cmd_choose=all$(ref2)cmdlist_item_">!item</a>,\
  $(ref1)cmdlist_line_&+cmd_choose=all$(ref2)cmdlist_line_">!line</a>,\
  $(ref1)cmdlist_word_&+cmd_choose=all$(ref2)cmdlist_word_">!word</a>,\
  $(ref1)cmdlist_char_&+cmd_choose=all$(ref2)cmdlist_char_">!char</a>,\
  to randomly permute items, lines, words, or characters in a string. <br>\
  For the second usage, a new list with randomly permuted items in ``list'' is returned. <br>\
  In any case, the variable ``wims_shuffle_order'' is set to be\
  the list ``i<sub>1</sub>, i<sub>2</sub>, ..., i<sub>n</sub>''. <br>\
  When the optional word ``even'' or ``odd'' is present, only even/odd permutations are produced.
