call methods on native types
The autobox pragma allows methods to be called on integers, floats,
strings, arrays, hashes, and code references in exactly the same manner as
The autoboxing is transparent: boxed values are not blessed into their
(user-defined) implementation class (unless the method elects to bestow
such a blessing) - they simply use its methods as though they are.
The classes (packages) into which the native types are boxed are fully
configurable. By default, a method invoked on a non-object is assumed to be
defined in a class whose name corresponds to the 'ref()' type of that value
- or SCALAR if the value is a non-reference.