Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: DBI, $dbh, and subroutines

by LanX (Bishop)
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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://779304]
[erix]: I have figured it out. I actually constructed them correctly but used a faulty url *headdesk*
[erix]: ( you use anchors to jump to via a #-suffix to the url -- I am sure you know )
[choroba]: ah, these

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2018-06-19 12:43 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.