This sets up the environment that the scripts run in. I've found it to be the most flexible route as I don't have to do any complex config file formatting, and the environment becomes the config, which is easy to move around to different platforms (linux, BSD, Heroku, etc). Depending on what I am doing, I might also write a wrapper script that automatically sources the config and runs the script.
# config.sh
KEY1="value"
KEY2="value"
TOPICAL_KEY3="value"
TOPICAL_KEY4="value"
export KEY1 KEY2 TOPICAL_KEY3 TOPICAL_KEY4
$ . config.sh
$ bin/myscript.sh
$ bin/myscript.pl