Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: DBI, $dbh, and subroutines

by LanX (Canon)
on Jul 12, 2009 at 03:57 UTC ( #779304=note: print w/ replies, xml ) Need Help??

in reply to DBI, $dbh, and subroutines

I'm an advocate of DRY, passing it around increases the error probability , e.g. typos.

OTOH globals tend to have a problem, if the line distance between creation and usage gets to big, or generally if scope and context are not easy to oversee.

I'd use a block scope to simulate an object², the "global" is used like a class-attribute.

{ my $global="whatever"; sub method1 { ...; foo($global); ... } sub method2 { ...; bar($global); ... } sub ... }

Closures are in most simple cases more elegant than objects, especially in perl¹!

(they just can't inherit, but that's not a "simple" case anymore).

Cheers Rolf


(¹) just compare to grandfathers lightweight object! No blessing, no $self ...

(²) "encapsulation" to be more precise

Comment on Re: DBI, $dbh, and subroutines
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://779304]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2015-04-01 01:16 GMT
Find Nodes?
    Voting Booth?

    When putting a smiley right before a closing parenthesis, do you:

    Results (676 votes), past polls