Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Object Oriented Programming in Perl.

by frankus (Priest)
on Aug 05, 2002 at 09:10 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2020-05-25 06:17 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (143 votes). Check out past polls.