init_arg is the expected key in an initialization hash.
For instance, if we have an "init_arg" value of "-foo", then the following code will Just Work.
MyClass->new( -foo => 'Hello There' );
- init_arg defaults to the attribute name
- If init_arg is explicitly set to undef the attribute cannot be specified during initialization.
See Class::MOP::Attribute for the original reference.