Object-Pad
view release on metacpan or search on metacpan
lib/Object/Pad.pm view on Meta::CPAN
my $i = 0;
while( $i < @$syms ) {
my $sym = $syms->[$i];
if( $sym eq ":experimental" ) {
carp "Enabling all Object::Pad experiments with an unqualified :experimental";
$enabled{$_}++ for @experiments;
}
elsif( $sym =~ m/^:experimental\((.*)\)$/ ) {
foreach my $tag ( split m/\s+/, $1 =~ s/^\s+|\s+$//gr ) {
if( $tag eq ":all" ) {
$enabled{$_}++ for @experiments;
}
else {
$enabled{$tag}++;
}
}
}
else {
$i++;
lib/Object/Pad.pm view on Meta::CPAN
my ( $syms ) = @_;
# Undocumented options, purely to support Feature::Compat::Class adjusting
# the behaviour to closer match core's use feature 'class'
my $i = 0;
while( $i < @$syms ) {
my $sym = $syms->[$i];
if( $sym =~ m/^:config\((.*)\)$/ ) {
foreach my $opt ( split m/\s+/, $1 =~ s/^\s+|\s+$//gr ) {
if( $opt =~ m/^(only_class_attrs|only_field_attrs)=(.*)$/ ) {
# Store an entire sub-hash inside the hints hash. This won't
# survive squashing into a COP for runtime but we only need it
# during compile so that's OK
my ( $name, $attrs ) = ( $1, $2 );
$^H{"Object::Pad/configure($name)"} = { map { $_ => 1 } split m/,/, $attrs };
}
else {
$^H{"Object::Pad/configure($opt)"}++
}
}
}
else {
$i++;
next;
}
( run in 0.574 second using v1.01-cache-2.11-cpan-71847e10f99 )