Thanks for all the help everyone! Here are the revised attributes:
sub { local *__ANON__='SomeTestPackage2::self_sub'; my( $self, $none, $href, $aref, $non_empty_aref, $custom_aref ) = +@_; confess( 'SomeTestPackage2 $custom_aref must be a custom array ref +' ) if not eval { scalar @$custom_aref; 1; }; confess( 'SomeTestPackage2::self_sub $non_empty_aref needs a non-e +mpty array reference' ) if not eval { scalar @$non_empty_aref; }; confess( 'SomeTestPackage2::self_sub $aref needs an array referenc +e' ) if not eval { scalar @$aref; 1; }; confess( 'SomeTestPackage2::self_sub $href needs a hash reference' + ) if not eval { scalar %$href; 1; }; confess( 'SomeTestPackage2::self_sub needs a SomeTestPackage2 refe +rence' ) if not ref $self or not eval { $self->isa( 'SomeTestPackage2 +' ); }; package SomeTestPackage2; use warnings; use strict 'refs'; return ref $self, ref $href, ref $aref, scalar @{$non_empty_aref;} +; }
Now, back to the job of actually developing the meta programming interface. Thanks again.
In reply to Re: RFC: Perl meta programming
by bennymack
in thread RFC: Perl meta programming
by bennymack
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |