From 4403f0436417f874935b2f95d48b8fc6d7a7d624 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Wed, 18 Jan 2012 13:03:32 -0800 Subject: [PATCH] =?utf8?q?In=20overload::AddrRef,=20use=20=E2=80=98no=20ov?= =?utf8?q?erloading=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This speeds this up by about 13 times. --- lib/overload.pm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/overload.pm b/lib/overload.pm index 90463b3..77dfa66 100644 --- a/lib/overload.pm +++ b/lib/overload.pm @@ -113,17 +113,8 @@ sub Method { } sub AddrRef { - my $package = ref $_[0]; - return "$_[0]" unless $package; - - local $@; - local $!; - require Scalar::Util; - my $class = Scalar::Util::blessed($_[0]); - my $class_prefix = defined($class) ? "$class=" : ""; - my $type = Scalar::Util::reftype($_[0]); - my $addr = Scalar::Util::refaddr($_[0]); - return sprintf("%s%s(0x%x)", $class_prefix, $type, $addr); + no overloading; + "$_[0]"; } *StrVal = *AddrRef; -- 2.7.4