package aliased; BEGIN { eval { require Scalar::Util }; if( defined &Scalar::Util::refaddr ) { *refaddr= \&Scalar::Util::refaddr; } else { *refaddr= sub { 0+$_[0] }; } } ...