You might plaster your ProgramName::Config file (and maybe other prominent script files too) with comments in big letters every 20 lines:
# DO NOT EDIT THIS FILE. To change the configuration do this:
# Call this and do that
# You now can edit the configuration in file ...
Obviously your users are intelligent enough to find this file, but rather forgetful about infos they get with the program but need weeks later. Don't tell them to edit ProgramName::Config. Instead make sure they see the information on how to configure when they want to configure
Don't ever give the impression it is ok to edit the code. NEVER EVER. Instead provide them with an easy path to success and make sure they find out about that path by putting it in all the places they will look at at that time
There are CPAN modules to read in config files. You will find some of them if you search for modules in the "Config" tree (i.e. that begin with "Config::").