I frequently use DBI
in my scripts. Some are quick and dirty scripts, others have the potential to be around for years.
As a matter of habit, I create my database connection early in the script and pass it as an argument to any subroutine that needs it rather than leaving it as a global. This is more a result of my preference to see a list of variables (from the parent) that will be used in the sub than anything else. Which brings me to my question:
Is this simply a matter of style, or are there substantive differences between using a global versus a locally scoped variable. For those of you who also use DBI heavily, how do you maintain your db handle? I try to stay away from globals because I find they make code hard for me to read ("where did THAT come from, and what the heck is it?!"). Are there reasons I shouldn't be passing a $dbh around that I never intend to modify?