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
|
---|
In Section
Seekers of Perl Wisdom