in reply to Sorting array of hashes according to key value

Since I don't see an attempt at a sort statement in that code, its hard to guess where you want the sort. To sort a list of hash references by one of the values, you would say sort { $a->{Date} cmp $b->{Date} }, adjusting the particular key used and perhaps changing cmp to <=> to suit.

(Update: was showing array refs, change to hash refs)

On another topic, where you have:

my $i; for $i (0..$#items) { print "-------------\n"; my %hash = %{$items[$i]}; my $d = Dumper(\%hash); print "$d\n"; # my $date = $hash{Date}; }
I have a suggestion. Instead of looping over the indices, it is more natural in Perl to loop over the array itself:
for my $hashref (@items) { my $d = Dumper($hashref); print "$d\n"; # my $date = $hashref->{Date}; }