A few other tips that come to my mind:
Please don’t “code dump.” Even if you use code tags to soften the blow, actual application source-code is largely irrelevant, except for the small, isolated pieces which directly illustrate the conundrum that you are now having and your general approach to the problem you are trying to solve. Try to contain yourself to only what you consider to be relevant source-code and the code needed to understand it. If a responder disagrees, they will tell you ... and remember that this response, too, will be instructive to Future Monks Who Will Follow Thee.™
- “We want to see your data structure design,” because this often has direct bearing on an application and its problems. We also need to know, in orders-of-magnitude, how many records you have. However, if your question “merely” consists of not being clear as exactly how one should access a data-structure in Perl, you can probably solve this problem yourself and it would be instructional to you for you to do so:
- Construct a small, separate Perl script (with use strict; use warnings; !!) which constructs a tiny mock-up of the data structure that you intend to use, and which attempts to access elements from that structure. Reduce this program to the minimum necessary to illustrate what you are trying to do.
- Use Data::Dumper freely to dump the “before” data structure (to make sure that it really is what you thought it was), and “after” (to verify that your expected modifications actually worked).
Do everything possible to politely focus attention on your problem and to quickly direct the reader’s focused attention to it. This starts with the title – especially, the title – and with the appropriate placement of your piece into one of the three major forums: Seekers, Meditations, or PM-Discussions. It continues with a to-the-point exposition of your problem and its relevant materials, in a normal-sized font. Anyone should be able to ascertain the thrust of your question and the relevant context within no more than thirty seconds.
When you arrive at your answer, it is fine to mark the question as “solved” and/or to summarize your answer on the OP, but please do not remove the OP or substantially alter it. Threads on a forum like this one are a persistent information resource for Future Monks Who Will Follow Thee.™ Remember that you are also writing for them. (A key asset of PerlMonks is the size of its archive of valuable posts.) Even though you might come away embarrassed by your “fumbling mistakes” or what-have-you, very soon someone will come along behind you who has made or would have made that same mistake. Digital computers make fools of us all on a regular basis, and yes, we all know that very well. You’re among
friends Monks. Therefore, for maximum future-benefit (perhaps for many years to come), allow your thread to stand. Add a concluding post which “brings the thread to closure” if you think that this will add to future benefit.
PerlMonks is a very active forum. You can expect an enlightened reply more-or-less immediately. The quality of the responses will rest directly on the quality of your question’s presentation.