hkl: Muster - die einsame [KB]ruecke

Beitrag lesen

Hallo !

Unter Perl gibt es ja die Moeglichkeit auf Funktoinen in einem Modul mittels <PAKETNAME>::<Fumktionsname> zuzugreifen. Wenn man das Paket aber objektorientiert nutzen will, ist das ja nicht ganz unproblmatisch, da es sein koennte dass der Konstruktor noch gar nicht gerufen wurde.

Kannst Du da noch mal ein paar Sachen zu schreiben? Liest sich für mich ganz merkwürdig...

So in etwa :

Naive_Log.pm

package Naive_Log;
use strict;

my $resource = undef;

sub new() {
  my $class = shift;

hoer wird ( was auch immer ) initialisiert

$resource = { foo => 'bar'};
  my $self = {};
  bless $self, $class;
}

sub do_it() {
  $resource->{foo};
}

1;

EOF Naive_Log.pm

#! /usr/bin/perl -w -I ./modules

Naive_LogClient.pl

use strict;
use Naive_Log;

Wenn das hier noch nicht passiert ist...

my $naive_log = new Naive_Log;

...schlaegt das hier fehl

print Naive_Log::do_it() . "\n";

EOF Naive_LogClient.pl

Gruss

Holger