use 5.010000; use ExtUtils::MakeMaker; use Config qw(%Config); # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. %param = ( NAME => 'MM123', VERSION_FROM => 'lib/MM123.pm', # finds $VERSION PREREQ_PM => {}, # e.g., Module::Name => 1.1 ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/MM123.pm', # retrieve abstract from module AUTHOR => 'A. U. Thor ') : ()), # e.g., '-lm' DEFINE => '', # e.g., '-DHAVE_SOMETHING' INC => '-I.', # e.g., '-I. -I/usr/include/other' ); WriteMakefile(%param); WriteMakefile(%param); package MY; sub postamble { print "postamble hook worked\n"; return ' # POSTAMBLE WORKED '; } #### package MM123; use strict; use warnings; require Exporter; our @ISA = qw( Exporter ); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. # This allows declaration use MM123 ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( ) ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( ); our $VERSION = '0.01'; # Preloaded methods go here. 1; #### C:\pl\mmbug>perl makefile.pl postamble hook worked Writing Makefile for MM123 Writing Makefile for MM123 C:\pl\mmbug>