use strict; my %HASH; use Tie::CaseInsensitive; tie %HASH, 'Tie::CaseInsensitive'; $HASH{BoB} = 1; $HASH{bob} = 2; $HASH{BOb} = 3; tie %{$HASH{bill}}, 'Tie::CaseInsensitive'; $HASH{bill}{jones} = 3; $HASH{BILL}{JONES} = 2; use Data::Dumper; print Dumper \%HASH;