|Think about Loose Coupling|
Testing for the presence of a hash key in a filenameby NovMonk (Chaplain)
|on May 25, 2007 at 14:25 UTC||Need Help??|
NovMonk has asked for the wisdom of the Perl Monks concerning the following question:
As I continue my journey towards enlightenment, I am finding myself wanting to try simpler but more unfamiliar ways of handling a task. Here's a simplified version my current task: could someone please tell me if this solution will work, or if I'm barking up the wrong tree?
I have a list of abbreviations that appear as part of a much longer filename, i.e. DNI,SNI,JRN, etc. Based on whether a particular combination appears anywhere in the filename, I have to call a corresponding color logo.
Where I might once have constructed a godawful succession of conditional statements, it occurred to me I might make a hash where that pattern to match is the key, and the call to the correct color logo is the value. But-- here my inexperience overwhelms me. It seems like I would still need a godawful set of conditionals to test for the presence of this key variable in the filename.
So, my question-- what would be the best way to handle or just think about this situation? At the least, I can write subroutines that check for the pattern match in the filename and do things accordingly. But it seems like there should be a cleaner way I haven't thought of.
Thanks for your time and patience.