in reply to Re^2: Brain muchly befuddled by nested hashes
in thread Brain muchly befuddled by nested hashes

Even if you prepend the '0' before values, it still isn't enough. For example 2000<2008 but 10/2000>08/2008, so it is right to check big things first.

About the hashes, my point was that the usual case is that you define a hash as %hash = (key1=>value1, key2=>value2...); and it is not frequent (if plausible) to use the => symbol inside the key definition. You say $ClubTotal{'DayOfMonth'=>$date}{..} =... which puts the '=>' in the key. Now, the hash concept is that a hash is just a table organized by distinct words. As such, there is no point in prefixing the 'DayOfMonth' (a constant string before the date) and the '=>' is really misleading because one expects a value after it. It would be much more readable to write something like this:
%ClubTotal = { $date => { TotalPerDay=>1, HourSignIn=> { Value=>$hour, ToPerlHour=>$perlHour } } }

This is just an example. Things should be as simple as possible. For example, in your code you say: $ClubTotal{ 'DayOfMonth'=> $date }{'Date'} = $date ;, which means that your key and value are the same variable! There are 3 date's in this code which is a waste of time (and space). Simply stating $ClubTotal{$date}=... is enough since the date you want is the key of the hash.