Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Object Oriented Programming in Perl.

by frankus (Priest)
on Aug 05, 2002 at 09:10 UTC ( [id://187610]=note: print w/replies, xml ) Need Help??


in reply to Object Oriented Programming in Perl.

Hi, A few things I use that, of course, are optional (after all this is Perl)
  • Use the package name in the 'bless' statement : bless $self, $package;. Then call it using my $meal = Food->new()
  • Consider permitting the setting of parameters in the new method, perhaps by using a statement like this:
    my ($package,$params) = @_; my $self = ( ref($params) eq 'HASH' ) ? $params : {};
  • Factor in the use of namespaces, incase anyone decides your object is worth inheriting from.

As an aside, just Perl foibles of mine:

  • in the display function, why use all those print functions when one could be used?
  • use double-quoted variables only when you have to. Use single quotes unless you are interpolating variables in the string.

I mention the foibles as they're are inneficiencies so easily avoided.
Using OO Perl is going to slap an overhead on your code, make sure the code is lean.

As for OO Perl books apart from Damien Conway's OO Perl.. sure there are;
however the Conway book is IMHO well worth reading instead of citing, get it from a library if you can't afford it.
If you find the reading tricky, that's because the topic is tricky.
If you wish to understand OO Perl conventions, better to read this book. In the mean time try:

--

Brother Frankus.

¤

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2024-04-23 10:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found