Hallo,
Überlagern von Operatoren...hmmm...kann ich jetzt wirklich nicht mit dem Problem in Beziehung bringen, aber vielleicht steh ich auf dem Schlauch.
Ich würds jedenfalls so machen:
sub tagSubtract {
my ($tag1, $tag2) = @_;
my $result = new Tag(...(wie auch immer hierfür der Konstruktor
aussieht);
# Ausgehend, dass Du für das property JD einen Setter namens "setJD"
# geschrieben hast...
$result->setJD($tag1->{JD} - $tag2->{JD});
return($result);
}
(evtl. Syntaxfehler bitte ich zu entschuldigen, meine PERL-Tage sind schon seit längerem vorbei).
Evtl. könnte man "tagSubtract" auch direkt als Methode an dem Tag-Objekt implementieren....hängt aber von der konkreten Implementierung ab, ob das sinnvoll ist.
Viele Grüße,
Jörg