in reply to looking for inspiration on 'compare'

when i try to read out key/value pairs, i got "undef" on values for which comparison function returned -1.
That sounds fishy, are you sure you're not storing undef? A custom compare subroutine should not effect the values stored (and its most likely that its not).
Any clue on how to make a Compare function different from the one on manual?
You already have one, so just like that.

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.