?????????? ????????? - ??????????????? - /home/.cpan/build/Test-File-1.993-0/Makefile.PL
???????
package Test::File; use strict; use warnings; =encoding utf8 =head1 The build file for Test::File This build file is a modulino; it works as both a build script and a module. To build the distribution, run this file normally: % perl Makefile.PL But, it's more interesting than that. You can load it with C<require> and call C<arguments> to get the data structure it passes to C<WriteMakefile>: my $package = require '/path/to/Makefile.PL'; my $arguments = $package->arguments; Note that C<require>-ing a file makes an entry in C<%INC> for exactly that name. If you try to C<require> another file with the same name, even from a different path, C<require> thinks it has already loaded the file. As such, I recommend you always require the full path to the file. The return value of the C<require> is a package name (in this case, the name of the main module. Use that to call the C<arguments> method. Even if this distribution needs a higher version of Perl, this bit only needs v5.8. You can play with the data structure with a primitive Perl. =cut use File::Spec::Functions qw(catfile); my $module = __PACKAGE__; ( my $dist = $module ) =~ s/::/-/g; my $github = 'https://github.com/briandfoy/test-file'; my $main_file = catfile( 'lib', split /::/, "$module.pm" ); my %WriteMakefile = ( 'MIN_PERL_VERSION' => '5.008', 'NAME' => $module, 'VERSION_FROM' => $main_file, 'ABSTRACT_FROM' => $main_file, 'LICENSE' => 'artistic_2', 'AUTHOR' => 'brian d foy <bdfoy@cpan.org>', 'CONFIGURE_REQUIRES' => { 'ExtUtils::MakeMaker' => '6.64', 'File::Spec::Functions' => '0', }, 'BUILD_REQUIRES' => { }, 'TEST_REQUIRES' => { 'Test::More' => '1', 'Test::Builder::Tester' => '1.04', 'Test::Builder' => '1.001006', }, 'PREREQ_PM' => { }, 'META_MERGE' => { 'meta-spec' => { version => 2 }, keywords => ['testing','file'], resources => { repository => { type => 'git', url => $github, web => $github, }, bugtracker => { web => "$github/issues", }, homepage => $github, }, no_index => { package => [ qw( version Local ) ], directory => [ qw( t/inc inc ) ], file => [ qw( t/lib/test.pm ) ], namespace => [ qw( Local ) ], }, }, clean => { FILES => qq|$dist-*| }, test => { TESTS => 't/*.t t/*/*.t' }, ); sub MY::dynamic { # # No dynamic library unless on MSWin32 # package MY; my ($self) = @_; $^O eq 'MSWin32' ? $self->SUPER::dynamic : ''; } sub arguments { \%WriteMakefile } do_it() unless caller; sub do_it { my $MM ='ExtUtils::MakeMaker'; my $MM_version = eval{ "$MM " . $WriteMakefile{'CONFIGURE_REQUIRES'}{'ExtUtils::MakeMaker'} } || "$MM 6.64"; eval "use $MM_version; 1" or die "Could not load $MM_version: $@"; eval "use Test::Manifest 1.21"; my $arguments = arguments(); my $minimum_perl = $arguments->{MIN_PERL_VERSION} || '5.008'; eval "require $minimum_perl;" or die $@; WriteMakefile( %$arguments ); } no warnings; __PACKAGE__;
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0.01 |
proxy
|
phpinfo
|
???????????