Thread Kind erkennt Elternmethode nicht (12 answers)
Opened by David at 2012-06-12 21:33

Gast David
 2012-06-12 21:33
#158924 #158924
Hallo Leute,
langsam bin ich am verzweifeln. Ich schreibe an einer Webanwendung(Apache). Perl Version 5.10.0

Ich möchte eine "Klasse" PraxisModul von Seitenmodul erben lassen.

An meinem bisherigen Code fummel ich schon seit gestern und die Fachliteratur hilft mir auch nciht mehr weiter.
Mein Code:

indextest.pl
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main;
use strict;
use CGI qw/:standard/;
use CGI::Carp 'fatalsToBrowser';
use Date::Calc qw(:all);
use Storable qw(nfreeze thaw);
use DBI;
use DBD::Pg qw(:pg_types);
use utf8;
use Encode qw(encode decode from_to);
use Encode::Encoder qw(encoder);

use lib "/wwws/cgi-bin/praktver"; # Location B
use PGtest;

...

$Modul=PraxisModul->new();

...

package PraxisModul;
use CGI;

use Seitenmodul;
our @ISA = qw( Seitenmodul );

...

sub new {
my $class=shift;
my $self={};
bless($self, $class);

$self->SUPER::init(); # <-- Fehlerzeile 163
$self->init();

return $self;
}


Seitenmodul.pm
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package Seitenmodul;
use strict;
use PGtest;
use DBI;
use CGI qw/:standard/;
use CGI::Carp 'fatalsToBrowser';

sub new {
my $class=shift;
my $self={};
bless($self, $class);

$self->init();

return $self
}

sub init {
my $self=shift;
# Finde heraus um welchen Modulaufruf es sich handelt
my @N=split(/\//,shift);
$MODUL =$N[@N-2];
...
}


Mit der durch Literatur empfohlenen "use base" Struktur konnte ich bisher auch nicht weiter kommen.

Hat vllt. schonmal jemand mit dem Fehler gekämpft? Oder könnte es was mit der Installation nicht in Ordnung sein?

Ach ja, der Fehler lautet:
Code: (dl )
Can't locate object method "init" via package "PraxisModul" at /wwws/cgi-bin/praktver/indextest.pl line 163.


Viele dankbare Grüße
David
Last edited: 2012-06-12 21:47:33 +0200 (CEST)

View full thread Kind erkennt Elternmethode nicht