Dimitri Rettig: Skalar und Array an eine Klasse binden

Hallo,

ich habe eine Klasse. Sie enthält einge Skalare sowie ein Array. Ich
will vermittels tie ein Skalar sowie ein Array an die Klasse
binden. Ein Skalar zu binden ist ja nicht allzu schwer. Hier
das Wesentliche in vereinfachter Form:

package MyClass;

use strict;
use warnings;
use Exporter;

our @ISA = qw(Exporter);
our @EXPORT = qw(new);

Konstruktor

sub new {
    my $class = shift;
    my $a = shift;
    my $b = shift;
    tie(my $ret, $class, $a, $b);
    return $ret;
}

sub TIESCALAR {
    my $class = shift;
    my $a = shift;
    my $b = shift;
    my %self = (a => $a, b => $b);
    return bless %self, $class;
}

sub FETCH {
    my $self = shift;
    return $self->{a}.$self->{b};
}

dann könnte man z. B. aufrufen:

my $obj = MyClass->new("IRGENDEIN", "TEXT");
print "$obj";

gibt aus: IRGENDEINTEXT

ich will erreichen, dass

my *foo = MyClass->new("IRGENDEIN", "TEXT");

dazu führt, dass sowohl $foo als auch @foo an die gleiche Klasse (Objekt)
gebunden sind. Ich sehe aber keine Möglichkeit, wie ich mein Vorhaben
umsetzen kann. Es fängt schon damit an, dass ich irgendwie zwei
FETCH-Methoden, eine für $foo und eine für @foo, in einer Klasse
unterbringen soll.

Mit freundlichen Grüßen
   Dimitri Rettig