Is there any real need to use classes at all? You could just use one class and store the information which C-class it is for inside.
example:
package My::Types;
sub new {
my $pclass = shift;
my $cclass = shift;
my $cself = $pclass->readFromData($cclass);
my $pself = { cself => $cself, cclass => $cclass };
return bless $pself, ref($pclass)||$pclass;
}
sub isSame {
my $pclass = shift;
my $other = shift;
return undef unless $other->CORE::isa(__PACKAGE__);
return $other->{cclass} eq $pself->{cclass};
}
sub getNumberOfParams {
my $pself = shift;
my $cself = $pself->{cself};
return $cself->{noOfParm};
}
...
package main;
$a = My::Types->new('printf');
print $a->getNumberOfParams();
(untested code)
Update: Oops, I coded an isSame() method, not an isa(). Renamed it to avoid misunderstandings...
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.