Acme-Marvel-CinematicUniverse-Characters
view release on metacpan or search on metacpan
lib/Acme/Marvel/CinematicUniverse/Character.pm.mite.pm view on Meta::CPAN
my $class = ref( $_[0] );
my $meta = ( $Mite::META{$class} ||= $class->__META__ );
$_->( @_ ) for @{ $meta->{BUILD} || [] };
}
# Destructor should call DEMOLISH methods
sub DESTROY {
my $self = shift;
my $class = ref( $self ) || $self;
my $meta = ( $Mite::META{$class} ||= $class->__META__ );
my $in_global_destruction = defined ${^GLOBAL_PHASE}
? ${^GLOBAL_PHASE} eq 'DESTRUCT'
: Devel::GlobalDestruction::in_global_destruction();
for my $demolisher ( @{ $meta->{DEMOLISH} || [] } ) {
my $e = do {
local ( $?, $@ );
eval { $demolisher->( $self, $in_global_destruction ) };
$@;
};
no warnings 'misc'; # avoid (in cleanup) warnings
die $e if $e; # rethrow
}
return;
}
my $__XS = !$ENV{PERL_ONLY} && eval { require Class::XSAccessor; Class::XSAccessor->VERSION("1.19") };
lib/Acme/Marvel/CinematicUniverse/Mite.pm view on Meta::CPAN
use warnings;
no strict 'refs';
if ( $] < 5.009005 ) { require MRO::Compat; }
else { require mro; }
defined ${^GLOBAL_PHASE}
or eval { require Devel::GlobalDestruction; 1 }
or do {
carp( "WARNING: Devel::GlobalDestruction recommended!" );
*Devel::GlobalDestruction::in_global_destruction = sub { undef; };
};
# Constants
sub true () { !!1 } sub false () { !!0 }
sub ro () { 'ro' } sub rw () { 'rw' } sub rwp () { 'rwp' }
sub lazy () { 'lazy' } sub bare () { 'bare' }
# More complicated constants
BEGIN {
my @bool = ( \&false, \&true );
( run in 0.495 second using v1.01-cache-2.11-cpan-49f99fa48dc )