Mein Problem ist jedoch, dass ich nicht dahinter komme, wie ich ein Objekt erstelle, welches ein Array als "Membervariable" hat.
Ein Objekt ist zunächst nichts anderes als eine Hashreferenz, die mittels bless an ein Objekt gebunden wird. Lies dir hierzu bitte perlref durch, um den Aufbau zu verstehen. Mal ein simples Beispiel, das es verdeutlicht:
package MyArray;
sub new {
# Objektname
my $pkg = shift;
# Hashreferenz mit einer
# Arrayreferenz als einziges Element
my $ref = { myArray => [] };
# Binde die Referenz an den Objektnamen
return bless $ref, $pkg;
}
sub addElement {
my $obj = shift;
# hinzuzufuegendes Element
my $elm = shift;
# Element hinzufuegen
push @{$obj->{myArray}}, $elm;
}
sub getElement {
my $obj = shift;
# Indexnummer des gesuchten Elements
my $index = shift;
# Inhalt zurueckgeben oder
# undef, wenn Element nicht existiert
return $obj->{myArray}->[$index] || undef;
}
Im Einsatz:
use strict;
use diagnostics;
use MyArray;
# Objektinstanz
my $arr = MyArray->new;
# Hinzufuegen von zwei Elementen
$arr->addElement('foo');
$arr->addElement('bar');
# Ausgabe des 2. Elements
print $arr->getElement(1) || 'Kein Element';
Ich hoffe, dass es so verständlich ist, ansonsten frage nochmal nach.
Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.