use Module::Build; my $class = Module::Build->subclass ( code => q| use Module::Build::ModuleInfo; use Pod::Text; sub create_readme { my ($self) = @_; # Say what we are doing. print "Deleting ChangeLog\n"; unlink 'ChangeLog'; print "Creating ChangeLog\n"; # Get the POD-formatted text. open my $outfile, '>', 'ChangeLog.pod'; # I'm a bit worried about the 'inc' here: it looks UNIX-only. # However, M::B won't give my the path directly, and I don't feel like going through contortions. # (Besides, no one but me should ever run this.) push my @modules, Module::Build::ModuleInfo->new_from_module( 'Acme::Module', collect_pod =>1 , inc => [$self->base_dir()."/lib"]); push @modules, Module::Build::ModuleInfo->new_from_module( 'Acme::Module::2', collect_pod =>1 , inc => [$self->base_dir()."/lib"]); foreach my $pm_file ( @modules ) { print $outfile "=head1 Changes in: ". $pm_file->name() ."\n\n"; print $outfile $pm_file->pod('HISTORY'); } close $outfile; # Reformat to standard text, and remove temp file. my $text = Pod::Text->new(); $text->parse_from_file('ChangeLog.pod', 'ChangeLog'); unlink 'ChangeLog.pod'; } | );