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; #### $VAR1 = { 'bill' => { 'jones' => 2 }, 'bob' => 3 };