in reply to Re^2: reading/writing to a file
in thread reading/writing to a file

I don't follow you on the autovivification point. No keys in %$exclude are autovivified in the code I posted.

The decision to use two hashes was one of several that I made for the sake of clarity alone, since I thought that in that way it would be easier for the OP to adapt it to his/her needs. (I.e., I agree with the quote at the beginning of your post :) )

the lowliest monk