in reply to Avoiding hard-coding

You might be interested in Config::Find or Config::Auto ... they were both built to support the idea that for theapplication named "foo" there are a fairly common set of places to look for "foo" configuration files. -- unless of course the user tells me exactly which file to use, in which case i'll trust them.