Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

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

UPDATES:

(¹) 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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (14)
As of 2014-10-01 16:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (30 votes), past polls