Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • if ( keys %order_by ne @names ) {

    # should probably be

    if ( keys %order_by != @names ) {

    If you didn't mind the performance hit of a tied hash, you could use my Tie::Hash::Sorted

    You could combine your order sub and your sort routine in 1 by using lexicals and references. This way all you would need to do to change the sort order would be to change the array containing the list of keys - the rest would automagically happen. It would also allow you to add/delete/modify keys and values and always have the resulting order be what you want.

      First, you could combine
    • Yup. That's a bug in my code, thanks :)

      I can't use Tie::Hash::Sorted. I'm getting the hash from an external source. Thanks for the idea, though.

      • Well, I am certainly not trying to push Tie::Hash::Sorted as I have never found a use for it myself. I wrote it because my efforts to contact Casey to correct the glaring problems of Tie::SortHash went unanswered (I later learned my emails went to a bit bucket). The original motivation was because it solved a problem a monk was having.

        It does allow you to use an existing hash without damaging it in any way (it makes a copy).