> # @p is the position of each element in @o, > # that is, @o = (0..$#e)[@p] > my @p= (0..$#e); > # Note that it is also true that @p = (0..$#e)[@o]. #### # an arbitrary permutation @o = @permutation = (1,2,0); # position of 0 is in $o[2], so $p[0]=2. # This leads to @p = @positions = (2,0,1); # And then print " o[p] = (@o[@p]) = p[o] = (@p[@o]) \n"; #### o[p] = (0 1 2) = p[o] = (0 1 2)