my $class = Module::Build->subclass ( class => 'My::Builder', code => q# sub make_parfile { my ($self, $file) = @_; $file =~ s/(?new(); $zip->addFile($_) for keys %{ $self->_read_manifest('MANIFEST') }; die 'write error' unless $zip->writeToFileNamed( $file ) == Archive::Zip->AZ_OK; } sub ACTION_pardist { my($self) = @_; $self->make_parfile(join "-", $self->dist_name, $self->dist_version); } #, ); my $build = $class->new # The rest is the same.