What would you want the output to be? %data is indexed by $Item and each value will be a reference to a hash indexed by $SubOption. My guess is you want your printout loop to be something along these lines:
foreach my $k (keys %data){
print "$k:\n";
print " $_\n" for (values %{$data{$k}});
}
The PerlMonk tr/// Advocate