use Data::Dumper; use Tie::Autotie 'Tie::IxHash'; tie my %Menu_Multi_Hash, 'Tie::IxHash'; $Menu_Multi_Hash{'L1A'}{'L2A'} = undef; $Menu_Multi_Hash{'L1A'}{'Second'} = undef; $Menu_Multi_Hash{'L1A'}{'L2A'}{'L3A'} = undef; $Menu_Multi_Hash{'L1A'}{'L2A'}{'L3B'} = undef; $Menu_Multi_Hash{'L1A'}{'L2A'}{'L3A'}{'L4A'} = '/path/to/exe'; $Menu_Multi_Hash{'L1A'}{'L2A'}{'L3A'}{'L3B1'} = '/path/to/exe'; $Menu_Multi_Hash{'L1A'}{'L2A'}{'L3B'}{'L4A'} = '/path/to/exe'; $Menu_Multi_Hash{'L1A'}{'Second'}{'L3B'} = '/path/to/exe'; $Menu_Multi_Hash{'L1A'}{'Second'}{'Third1'} = '/path/to/exe'; print Dumper(\%Menu_Multi_Hash);