View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Andreas J. König > Perl-Repository-APC-2.002001 > buildaperl


Annotate this POD


New  1
Open  0
View/Report Bugs


buildaperl - Build an arbitrary perl version from APC


 buildaperl 5.7.0@7100
 buildaperl 5.8.0@
 buildaperl @
 buildaperl --h


This script builds the sources for any perl version between 5.004 and bleadperl.

The --h option displays all available options.

The argument consists of PERL_VERSION@PATCHNUMBER. The @ is mandatory, both PERL_VERSION and PATCHNUMER are optional.

If PERL_VERSION is missing, the script picks the most recent version in the branch. If the PATCHNUMBER is missing, all available patches for a given base will be applied. There is one important restriction: the script can not iterate over more than one APC directory when patching. This means you cannot build 5.6.0@18000. If you want @18000, just specify @18000 as the argument. If the --branch argument and the version@patch argument do not fit together, buildaperl dies.

The most convenient setup to run this script is to start it in a directory that contains a single subdirectory: APC. APC should be a full or partial mirror (***partial mirror is untested***) of Archive of Perl Changes . APC is located at


Make sure you are at least mirroring additional_tarballs, the 5.*, and the c</perl-*-diffs> directories.

Beware that you will need about a gigabyte of storage if you want to rsync all of the archive.

Buildaperl uses a temporary directory to build a perl and then renames this directory to

   perl-X-PERL_VERSION@PATCHNUMBER (e.g. perl-p-5.7.2@15915)
        \ \            \
         \ \            `-> e.g. 15915
          \ `-> e.g. 5.7.2
           `-> either "p" for trunk or "m" for a maintenance branch

and lets it lying around (unless the --remo switch is used). This is considered a feature: if buildaperl tries to build a perl that has already been built, it will recognize the fact from seeing the associated directory name. It builds a perl only if this directory does not yet exist, otherwise it will die.

Other files and directories will also be created by default, namely the directory to install all created perls into (unless the --noinstall option is given), installed-perls .


Same prerequisites as mentioned in patchaperlup.


Andreas Koenig <>

syntax highlighting: