#!perl -l @strings = ; for(@strings) { chomp; s/,/'}{'/g; s/^/\$hash{'/; s/$/'}++/; print "eval $_"; eval $_; } use Data::Dumper; print Dumper \%hash; __DATA__ string1,string2,string3,string4 string3,string4 string1,string2,string3 #### c:\>test.pl eval $hash{'string1'}{'string2'}{'string3'}{'string4'}++ eval $hash{'string3'}{'string4'}++ eval $hash{'string1'}{'string2'}{'string3'}++ $VAR1 = { 'string3' => { 'string4' => 1 }, 'string1' => { 'string2' => { 'string3' => 5393161 } } };