Hallo Calocybe
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: 1Scheint 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?
Ich denke, das ist schon offiziell. Wo und ob das in der Dokumentation steht, weiss ich aber nicht.
Im obigen Script wird ja einfach die Speicheradresse (z.B. SCALAR(0xba59b4)) der Referenzen verglichen. Das sollte auch in früheren Perl-Versionen funktionieren.
Du kannst ja mal dieses Script ausführen:
$i = 3; $j = 3;
$x = $i; $y = $j; $z = $i;
print('$x eq ', $x, "\n");
print('$y eq ', $y, "\n");
print('$z eq ', $z, "\n");
Gruss
Andreas