thanks for your answer, however, my initial question isnt about the database per se. the database object is just a symptom of the actual problem about why the object is not collected when it "goes out of scope" using the undef.
removal of the undef statement fixed the problem, i now have a single persistent database connection.