Mit anderen Worten, wie kann ich nach Coderef "Gleichheit" suchen?
Der Smartmatch-Operator funktioniert nicht aus offensichtlichen Gründen (würde ihn als CODE->(ANY)
behandeln) , aber ich habe es in das Beispiel eingefügt, um zu zeigen, wonach ich suche:
Sie können die normale (numerische) Gleichheit ( ==
) verwenden, wie es bei allen Referenzen der Fall ist:
Das bricht, wenn die Referenz mit etwas gesegnet ist, das ==
oder 0+
überlädt (was für Coderefs unwahrscheinlich ist). In diesem Fall würden Sie Scalar::Util::refaddr($selected)
vergleichen.
Von man perlref
:
Wenn Sie einen Verweis als Zahl verwenden, wird eine Ganzzahl erzeugt, die den Speicherort im Speicher darstellt. Die einzige nützliche Sache, die damit gemacht wird, ist, zwei zu vergleichen verweist numerisch darauf, ob sie sich auf den gleichen Ort beziehen.
%Vor%
Tags und Links perl