My question is, shouldn't there be a third file (one that's named say main.pl ?
For the purposes of demonstration, seperating the packages into seperate files isn't necessary, or even seperating the 'main' code for that matter. However, if you want to use the packages One and Two you will need to save them as a .pm files in the library path. As for the 'main' section of code, that could be saved to a file, or piped into STDIN or even in as commandline argument to -e. As ever TIMTOWTDI :)
What difference does '@ISA = ("One");' in Two.pm make?
It means that any subroutines in One are inherited by Two (which wasn't demonstrated in your example) e.g
{ package One; sub new { bless [], shift } sub onefunc { print "$_[0] in One::onefunc" } package Two; @ISA = 'One'; } my $two = Two->new; $two->onefunc(); __output__ Two=ARRAY(0x80fba1c) in One::onefunc
So as you can see from the output Two has inherited One's methods i.e it has access to them (but not vice versa, hence the word 'inheritence'). For more information on inheritence see. perlboot and perltoot.
HTH

_________
broquaint


In reply to Re: Learning how to use inheritance... by broquaint
in thread Learning how to use inheritance... by kiat

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.