Your first one is essentially similar to demerphq's suggestion at Re: Eek! goto?--which you quite possibly didn't see as I managed to create two root nodes that despite my considering one for deletion, both continue existing.

The other two are neat, but do you need splice in the latter? Wouldn't this work?

for (0 .. $len-1) { $$targ_shift[$_] += $k[$targ_shift[$_+1]] << $shift; }

The downside is speed. If you look at the original C-code you'll see that the whole reason for the switch was to allow a loop to be unwound for performance reasons. In the end, pfaut's realisation that basically the code is unpacking an unsigned long int which lead to the sub hash2() as shown at Re: Re: Eek! goto? using unpack. It came out hands-down winner for performance and I went with that in the end.


Examine what is said, not who speaks.

The 7th Rule of perl club is -- pearl clubs are easily damaged. Use a diamond club instead.


In reply to Re: Re: Eek! goto? by BrowserUk
in thread (duplicate) Eek! goto? by BrowserUk

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.