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/)


Reply via email to