Moin Leuts!
Ich wuerde gerne feststellen, ob zwei Objektreferenzen dieselben sind. D.h. nicht, dass die Objekte denselben Inhalt haben, sondern das wirklich beide Referenzen auf ein und dieselbe Stelle zeigen. Ein Vergleichsoperator muss her. Nur welcher?
perlop sagt:
Binary "==" returns true if the left argument is numerically equal to the right argument.
Binary "eq" returns true if the left argument is stringwise equal to the right argument.
Passt vom Wortlaut her eigentlich beides nicht auf mein Problem. Ich will Referenzen vergleichen, keine Zahlen oder Strings. Aber probieren kann man's ja mal. Also ein kleines Testprogramm:
perl -w
$i = 3; $j = 3;
$x = $i; $y = $j; $z = $i;
print("x == y: ", $x == $y, "\n");
print("x eq y: ", $x eq $y, "\n");
print("x == z: ", $x == $z, "\n");
print("x eq z: ", $x eq $z, "\n");
^Z
x == y:
x eq y:
x == z: 1
x eq z: 1
Scheint also zu funktionieren (Perl 5.005_03 (ActiveState Build 522)). Nur ist es so nicht dokumentiert, d.h. das Funktionieren ist fuer andere Interpreter-Versionen nicht garantiert.
Gibt es also einen (anderen) offiziellen Weg? Oder ist das doch schon offiziell und ich hab die Dokumentation dazu bloss nicht gefunden?
Solange, Calocybe