I'm going to write a module that uses PPI to parse Build.PL and
Makefile.PL files without executing them. The goal of the project is
to deduce information like version, dist name, author, abstract,
prereqs, etc. from (possibly untrusted) packages that have incomplete
or absent META.yml files. Clearly, only a subset of Build.PL and
Makefile.PL files will be easily digestable, but that's expected.
My expectations for the use cases for this module will be:
* Simply automatic translation of legacy Makefile.PL files into
Build.PL files
* Extract info from modules that lack META.yml files
* Further indexing of CPAN
and for my own Module::License::Report project
* Exposing license information for CPAN modules to simply
redistribution
My current ideas for names:
PPIx::Buildfile
PPIx::BuildPL/PPIx::MakefilePL
Package::Buildfile
Module::Info::Buildfile
Module::Info::BuildPL/Module::Info::MakefilePL
Module::Info::PPI::Buildfile
Module::Info::PPI::BuildPL/Module::Info::MakefilePL
Really this project analyzes packages, not modules, but the Module::
namespace seems to be preferred over Package:: on CPAN. (or am I
mistaken?)
Thanks,
Chris
--
Chris Dolan, Software Developer, Clotho Advanced Media Inc.
608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703
vCard: http://www.chrisdolan.net/ChrisDolan.vcf
Clotho Advanced Media, Inc. - Creators of MediaLandscape Software
(http://www.media-landscape.com/) and partners in the revolutionary
Croquet project (http://www.opencroquet.org/)