Acme-AirRead

 view release on metacpan or  search on metacpan

inc/Module/Install.pm  view on Meta::CPAN

358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
 
 
 
 
#####################################################################
# Common Utility Functions
 
sub _caller {
        my $depth = 0;
        my $call  = caller($depth);
        while ( $call eq __PACKAGE__ ) {
                $depth++;
                $call = caller($depth);
        }
        return $call;
}
 
# Done in evals to avoid confusing Perl::MinimumVersion
eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
sub _read {
        local *FH;
        open( FH, '<', $_[0] ) or die "open($_[0]): $!";
        my $string = do { local $/; <FH> };

inc/Module/Install/Makefile.pm  view on Meta::CPAN

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
}
 
sub Makefile { $_[0] }
 
my %seen = ();
 
sub prompt {
        shift;
 
        # Infinite loop protection
        my @c = caller();
        if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) {
                die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])";
        }
 
        # In automated testing or non-interactive session, always use defaults
        if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) {
                local $ENV{PERL_MM_USE_DEFAULT} = 1;
                goto &ExtUtils::MakeMaker::prompt;
        } else {
                goto &ExtUtils::MakeMaker::prompt;

inc/Test/More.pm  view on Meta::CPAN

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#---- perlcritic exemptions. ----#
 
# We use a lot of subroutine prototypes
## no critic (Subroutines::ProhibitSubroutinePrototypes)
 
# Can't use Carp because it might cause use_ok() to accidentally succeed
# even though the module being used forgot to use Carp.  Yes, this
# actually happened.
sub _carp {
    my( $file, $line ) = ( caller(1) )[ 1, 2 ];
    return warn @_, " at $file line $line\n";
}
 
our $VERSION = '0.98';
$VERSION = eval $VERSION;    ## no critic (BuiltinFunctions::ProhibitStringyEval)
 
our @ISA    = qw(Test::Builder::Module);
our @EXPORT = qw(ok use_ok require_ok
  is isnt like unlike is_deeply

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package Acme::AirRead;
 
use strict;
no strict 'refs';
our $VERSION = '0.05';
our $NO_READ = qr{air|luft};
 
sub import {
    my ($pkg) = caller(0);
    *{ $pkg . '::read_air' } = \&read_air;
    *{ $pkg . '::write_air' } = \&write_air;
    *{ $pkg . '::empty_air' } = \&empty_air;
}
 
sub read_air {
    my ($pkg) = caller(0);
    my $key = lc $_[0];
    return if $key =~ $NO_READ;
    my $namespace = $pkg . '::AirRead::attr';
    if ( $namespace->can($_[0]) ) {
        return *{ $pkg . '::AirRead::attr::' . $_[0] }->();
    }
    else {
        return;
    }
}
 
sub write_air {
    my ($pkg) = caller(0);
    return unless scalar @_;
    my %args = @_;
    foreach my $key ( sort keys %args ) {
        my $val = $args{$key};
        *{ $pkg . '::AirRead::attr::' . $key } = sub { $val };
    }
}
 
sub empty_air {
    my ($pkg) = caller(0);
    my $symbol_tbl = $pkg . '::AirRead::attr::';
    foreach my $symbol ( keys %$symbol_tbl ) {
        delete $symbol_tbl->{$symbol};
    }
}
 
1;
__END__
 
=head1 NAME



( run in 0.330 second using v1.01-cache-2.11-cpan-e5176c747c2 )