Not entirely, I fear. You don't seem to use method calls at all. Consider $num_opt=getopt_dev->add_option($self,$opt,$type); - normally in OO you'd write $num_opt = $self->add_option($opt, $type); instead.

Ah. Ok, that explains why things look a little different in other people's code I've read. This is what I tried to begin with, but then, when you call your methods from outside the module, don't you have to call them like getopt_dev->add_option($self,$opt,$type); ? And if so, how do you deal with the class name being the first argument? I have the feeling I really do have the wrong end of the stick here!

That way one can actually subclass your module and override methods in the the derived module.

:| ok I'll, er look this up when I have the chance..! I sort of think I know what you mean, but don't know why this is the case..

Frankly I'm not too fond on going through all of your code to check for other OO paradigms. If you provide a Synopsis (ie a small usage summary, as found in the documentation of all good CPAN modules) it will be much easier to judge if your approach is a good one.

No, I don't blame you. I thought I'd just chuck all the code down since I didn't even really know what specific questions to ask and hoped someone enlightened like you would point me in the right direction. Thanks for all your comments. When I have some time (this is not something I should probably be doing much, if anything on during work hours) I will have a bash at a synopsis thingy and post it.

A note on style: using an underscore in module names is generally frowned upon, use CamelCase instead, or separate the words with in the module name with :: instead.

Noted.. when should you use :: ? I thought that was used as a file separator character?

Update: Fixed typos
........
Those are my principles. If you don't like them I have others.
-- Groucho Marx
.......

In reply to Re^2: A first attempt.. at OO perl by why_bird
in thread A first attempt.. at OO perl by why_bird

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.