I have a rudimentary "Range Hash" module I plan on calling Tie::RangeHash. It works kind of like this: tie %hash, Tie::RangeHash; $hash{'2000-01-01,2000-01-31'} = 1; $hash{'2000-02-01,2000-02-28'} = 2; $hash{'2000-03-01,2000-03-31'} = 3; print $hash{'2000-02-14'}; # prints '2' I may call it Tie::Range and generalize it to tie arrays with numerical ranges as well. ------- End of forwarded message -------