Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Perl's pearls

by kbrannen (Beadle)
on Jul 30, 2013 at 02:19 UTC ( #1046937=note: print w/replies, xml ) Need Help??


in reply to Perl's pearls

I was wanting something like this, so it was good to find. So how has 12 years changed things other than it still works?

Tech note D is of interest:

Creating the word signature with
   pack "C*", sort unpack "C*", $_
is faster than using
   join "", sort split //, $_;
With Perl 5.14.2, the join/sort/split version is actually faster now, only by a few hundredths of a second on my machine, but it is faster. This is on 917K words. It also generates a correct signature, while the pack version generates a bad signature. Changing the last line to foreach(sort(keys(%words))) { print "$_- $words{$_}\n"; } allows us to compare:
  • pack gives: deoab- abode adobe
  • split gives: abdeo- abode adobe
The pack version works because it orders letters in the same way, but it doesn't order them in alphabetical order like it's supposed to. I'm not sure if this is a result of changes to perl as it's advanced thru time, or if it was that way originally. I don't have a version of perl from back in 2001 to test anyway.

I found the key generation error because I actually want the key to be available and need the letters to be in alphabetical order for another program.

Thanks for sharing!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1046937]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2019-09-16 08:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The room is dark, and your next move is ...












    Results (186 votes). Check out past polls.

    Notices?