ExtUtils::MakeMaker::CPANfile(3) User Contributed Perl Documentation ExtUtils::MakeMaker::CPANfile(3)

# [NAME](#NAME)

ExtUtils::MakeMaker::CPANfile - cpanfile support for EUMM

# [SYNOPSIS](#SYNOPSIS)

```
    # Makefile.PL
    use ExtUtils::MakeMaker::CPANfile;
    
    WriteMakefile(
      NAME => 'Foo::Bar',
      AUTHOR => 'A.U.Thor <author@cpan.org>',
    );
    
    # cpanfile
    requires 'ExtUtils::MakeMaker' => '6.17';
    on test => sub {
      requires 'Test::More' => '0.88';
    };
```

# [DESCRIPTION](#DESCRIPTION)

ExtUtils::MakeMaker::CPANfile loads "cpanfile" in your distribution and modifies parameters for "WriteMakefile" in your Makefile.PL. Just use it instead of ExtUtils::MakeMaker (which should be loaded internally), and prepare "cpanfile".

As of version 0.03, ExtUtils::MakeMaker::CPANfile also removes WriteMakefile parameters that the installed version of ExtUtils::MakeMaker doesn't know, to avoid warnings.

# [LIMITATION](#LIMITATION)

## [complex version ranges](#complex_version_ranges)

As of this writing, complex version ranges are simply ignored.

## [dynamic config](#dynamic_config)

Strictly speaking, "cpanfile" is a Perl script, and may have some conditions in it. That said, you don't need to run Makefile.PL to determine prerequisites in most cases. Hence, as of 0.06, ExtUtils::MakeMaker::CPANfile sets "dynamic\_config" to false by default. If you do need a CPAN installer to run Makefile.PL to customize prerequisites dynamically, set "dynamic\_config" to true explicitly (via META\_ADD/META\_MERGE).

# [FOR MODULE AUTHORS](#FOR_MODULE_AUTHORS)

Though the minimum version requirement of ExtUtils::MakeMaker is arbitrary set to 6.17 (the one bundled in Perl 5.8.1), you need at least EUMM 6.52 (with CONFIGURE\_REQUIRES support) when you release a distribution.

# [LICENSE](#LICENSE)

Copyright (C) Kenichi Ishigaki.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

# [AUTHOR](#AUTHOR)

Kenichi Ishigaki &lt;ishigaki@cpan.org&gt;

2026-10-25 perl v5.44.0

---

Document: ExtUtils::MakeMaker::CPANfile(3pm) from perl-extutils-makemaker-cpanfile 0.11-r1 (Chainguard OS)
Source: https://github.com/charsbar/ExtUtils-MakeMaker-CPANfile.git
