my %hash_defaults = ('a'=>0 , 'e'=>0 , 'i'=>0 , 'o'=>0 , 'u'=> 0,); my %hash = %hash_defaults; ... # Reinitialize %hash = %hash_defaults; #### while (...) { my %hash = ('a'=>0 , 'e'=>0 , 'i'=>0 , 'o'=>0 , 'u'=> 0,); ... }; #### use vars '%hash'; %hash = ('a'=>0 , 'e'=>0 , 'i'=>0 , 'o'=>0 , 'u'=> 0,); ... do { local %hash = %hash; ... make some changes }; ... changes are forgotten