Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: when to capitalize package variables

by eyepopslikeamosquito (Bishop)
on Feb 06, 2021 at 10:13 UTC ( #11127972=note: print w/replies, xml ) Need Help??


in reply to Re: when to capitalize package variables
in thread when to capitalize package variables

I would suggest not using a package variable at all
Agreed. I see in On Interfaces and APIs that Conway's SAT talks propose some sound general interface advice namely:
Make common usage the default; allow uncommon usage via optional attributes
... with hashes being the natural way to implement that in Perl.

In your Foo::foo(bar=>2) example, I note you used a hash rather than a hash ref. I've always used a hash ref, as recommended in PBP ... though, as indicated here, that was an error (compile-time vs run-time boo-boo) in the book from TheDamian - though he still stands by the advice.

As a Perl beginner, I chose a simple non-OO interface in the Acme::EyeDrops sightly function way back in 2001, four years before PBP was published. I remember liking that interface at the time because it allowed me to add new attributes in the future without breaking old programs. Plus I've always hated global variables (in any language) and couldn't bring myself to create a public global variable in my first Perl module. :)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2021-06-18 16:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (89 votes). Check out past polls.

    Notices?