my@mybox:~/sandbox $ ./2.pl data.txt jones = HASH(0x40017524) jenny = circle ted = circle knight = HASH(0x4001738c) ted = triangle $VAR1 = { 'jones' => { 'jenny' => 'circle', 'ted' => 'circle' }, 'knight' => { 'ted' => 'triangle' } }; my@mybox:~/sandbox $ cat data.txt ted jones square ted jones circle ted knight triangle jenny jones circle