http://qs321.pair.com?node_id=295147


in reply to Re^3: Griping about Typing
in thread Griping about Typing

Perl records this information, but does nothing (or very little) with it. Because it is recorded, the typesafety.pm and types.pm modules are able to use it. This kind of core hooks for extensibility via modules is a recurring pattern in Perl: overload.pm can intercept the definitions of constants and turn them into objects; attributes.pm handles cases where tags like :foo appear after variables or sub definitions (in cases where the tag isn't one of the built ins like :lvalue, :method, or the depricated :shared). This feature, like attributes, went through growing pains. It is undocumented because it is still experimental - the details of how and when it is used are up in the air, even though some experimental modules are using it now.

The short of it is, use types.pm and/or typesafety.pm. http://perldesignpatterns.com/?TypeSafety has an intro to the idea of type safety and details about the Perl implementations. It quotes this thread heavily =) I hope this answers your question.

-scott