http://www.perlmonks.org?node_id=486153


in reply to Re: Things I Don't Use in Perl
in thread Things I Don't Use in Perl

I can see the argument against using Singletons just as global variables.

But in many circumstances they are useful. The most obvious two situations I use them are in:

Passing a database handle to all methods, or to multiple objects gets sloppy fast - but having a single resource to fetch it from is neat.

Similarly with debug files; although they are sometimes abused when you realise you need more than one logfile...

Steve
--

Replies are listed 'Best First'.
Re^3: Things I Don't Use in Perl
by exussum0 (Vicar) on Aug 24, 2005 at 19:43 UTC
    I can easily think of two situations where those have driven me MAD.

    I need to connect to a different dateabase than I used to for party of an application. I have to change which variable names I'm using to use the right database.

    I wrote one app, where it had a kernel so to speak, w/ a logger attached. Creating a new kernel would create a second running copy of everything, 'cept the logger, 'cause it was a singleton. Grrr!

    Don't privatize your constructors! If I want a shared object, good, if not, it's just as good. The only thing I ever want globals are things like, numbers. 1 only has one value. 1!

    ----
    Give me strength for today.. I will not talk it away..
    Just for a moment.. It will burn through the clouds.. and shine down on me.