initial import of skeleton code
[p5sagit/App-FatPacker.git] / inc / Distar.pm
CommitLineData
48af1939 1package # in case this escapes being no_index'ed in META.yml
2 inc::Distar; # this horrible little trick hides us from PAUSE. INVISIBUL!
3
4use strict;
5use warnings FATAL => 'all';
6
7my $already;
8
9my $AUTHOR;
10
11my @do;
12
13my %whoami;
14
15sub import {
16 die "Can't call import() twice, last called from: ${already}"
17 if $already;
18 $already = join(' ', caller);
19 strict->import;
20 warnings->import(FATAL => 'all');
21 my $class = shift;
22 if (-e 'inc/whoami.pm') {
23 %whoami = %{do 'inc/whoami.pm' or die "Failed to eval inc/whoami.pm: $@"};
24 } else {
25 $AUTHOR = 1;
26 require inc::Distar::Guesswork;
27 %whoami = %{inc::Distar::Guesswork::guess(@_)};
28 }
29 push @do, sub {
30 require ExtUtils::MakeMaker;
31 ExtUtils::MakeMaker::WriteMakefile(%whoami)
32 };
33}
34
35END {
36 foreach my $do (@do) { $do->() }
37}
38
391;