in reply to scalar polymorphism

You probably want dualvar from Scalar::Util

/J\