The following code tells me that no new sub can be found in package STRTicket. While true technically... the @ISA is supposed to enable inheritance... I thought. In this case the empty sub class fails.
All classes are in the same monolithic source file. USE doesn't appear to like that and searches for actual .pm files... so I used import which seems to give me the symboltables (Ticket->new works for instance... but inheritance appears to fail ( Empty sub-class test fails).
So What... if anything else am I supposed to do when everything is in a single file to use an object and its subclasses?
my $t = new STRTicket();
package Ticket;
sub new {
my $class = shift;
my $ticketid = shift;
my $self= {
'TICKETID' => undef,
'SOURCE' => undef,
'CREATEDBY' => undef,
'OWNER' => undef,
'MODIFIEDBY'=> undef,
'CREATEDON' => undef,
'MODIFIEDON'=> undef,
'COMPANYNAME'=> undef,
'STATE' => undef,
'STATUS' => undef,
'BZTICKETS' => (),
'AGE' => undef,
'TITLE' => undef,
};
bless $self, $class;
if ( defined $ticket) {
$self->{'TICKETID'} = $ticket;
}
else {
die "Ticket object instantiated without a ticket id! This shou
+ld never happen.\n";
}
return $self;
}
sub load_bztickets($){
my $self= shift;
my $dbh = shift; # pass in the database reference for Bugzilla
}
1;
package BZTicket;
import Ticket;
# use Ticket;
@ISA = ('Ticket');
1;
package CRMTicket;
import Ticket;
#use Ticket;
@ISA = ('Ticket');
1;
package STRTicket;
import Ticket;
# use Ticket;
@ISA = ('Ticket');
1;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.