perl cache attempt 2