Acme-AtIncPolice

 view release on metacpan or  search on metacpan

lib/Acme/AtIncPolice.pm  view on Meta::CPAN

            my $value = $self->_matching($self->{options}->{value}, $args{value});
            if (($args{key} and $op->{key}) and $op->{value}) {
                return unless $key or $value;
            } elsif($args{key} and $op->{key}) {
                return unless $key;
            } elsif($op->{value}) {
                return unless $value;
            }
        }
        
        # debug type
        my $value = $self->_debug_message($args{value}, $op->{debug}, $args{filter});
        # debug_value checking
        return unless $self->_matching($self->{options}->{debug_value}, $value);
        # use scalar/array/hash ?
        return unless grep lc($class) eq lc($_) , @{$op->{use}};
        # create warning message
        my $watch_msg = '';
        my $msg = $self->_output_message($class, $value, \%args);
        if(defined $self->{options}->{pkg}){
            $watch_msg = sprintf("%s:: %s", @{$self->{options}}{qw/pkg var/});
        } else {
            $msg =~ s/^ => // if $msg;
        }
        if ($msg) {
            croak $watch_msg . $msg . "\n";
        }
    };

    watch @INC, (
        debug => sub {
            my ($self, $things) = @_;
            for my $thing (@$things) {
                my $ref = ref($thing);
                if ($ref) {
                    return "Acme::AtIncPolice does not allow contamination of \@INC";
                }
            }
        },
        r => 0,
    );



( run in 1.161 second using v1.01-cache-2.11-cpan-49f99fa48dc )