If by "parity of the permutation" you mean the number of elements out of place (or whether that number is even or odd, or the sum of the counts of elements that are on the wrong side of an element over all elements), then I think it's not possible. As Perl uses quicksort as its sorting algorithm, and that sorting algorithm swaps elements across large distances, you can't keep track of the parity in its callback.

You can maybe look at the implementation and infer that Perl will always call the sort block with $a being the left element and $b being the right element in the sequence. But then determining a parity from the number of calls your callback receives and the elements that get compared still strikes me as fragile if even possible at all.


In reply to Re: sort function and parity of the permutation. by Corion
in thread sort function and parity of the permutation. by latejita

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.