in reply to List Values As Multidimensional Hash Keys

QM's solution is clever. Here is a prosaic method that works for a known maximum number of keys:
my ($key, $val) = split /=/; my @keys = split /:/, $key; if (@keys == 1) { $hash{ $key[0] } = $value; } elsif (@keys == 2) { $hash{ $key[0] }{ $key[1] } = $value; } # etc.

-Mark