Lines Matching +full:cpan +full:- +full:changes

3 perlnewmod - preparing a new module for distribution
9 via CPAN.
23 packaging up the solution into a module and uploading it to CPAN so that
31 We're going to primarily concentrate on Perl-only modules here, rather
33 you should consider different things before distributing them - the
37 well to an XS module as a pure-Perl one.
48 format into a hash-of-hashes in Perl, turning that into a tree, walking
52 write something to talk the protocol from scratch - you'd almost
54 it is up to you: you might want protocol-level modules analogous to
68 =head2 Step-by-step: Preparing the ground
89 There are a lot of modules on CPAN, and it's easy to miss one that's
99 C<module-authors@perl.org> mailing list (send an email to
100 C<module-authors-subscribe@perl.org> to subscribe; see
101 L<https://lists.perl.org/list/module-authors.html> for more information
106 Perl modules included on CPAN have a naming hierarchy you should try to
108 browse around CPAN and the modules list to get a feel of it. At the very
122 =head2 Step-by-step: Making the module
126 =item Start with F<module-starter> or F<h2xs>
128 The F<module-starter> utility is distributed as part of the
129 L<Module::Starter|Module::Starter> CPAN package. It creates a directory
134 module-starter --module=Foo::Bar \
135 --author="Your Name" --email=yourname@cpan.org
138 package from CPAN, F<h2xs> is an older tool, originally intended for the
144 h2xs -AX --skip-exporter --use-new-tests -n Foo::Bar
146 The C<-A> omits the Autoloader code, C<-X> omits XS elements,
147 C<--skip-exporter> omits the Exporter code, C<--use-new-tests> sets up a
148 modern testing environment, and C<-n> specifies the name of the module.
152 A module's code has to be warning and strict-clean, since you can't
154 want to distribute code that wasn't warning or strict-clean anyway,
177 C<warn> and C<die> in place for your sanity checks - where it really is
180 =item Use L<Exporter|Exporter> - wisely!
187 exported when the caller simply says C<use Net::Acme> - you will hardly
191 export set - look at L<Exporter> for more details.
197 C<module-starter> or C<h2xs> will provide a stub for you to fill in; if
202 and POD for end-user notes.
206 You're encouraged to create self-tests for your module to ensure it's
208 your module to CPAN, a host of testers will build your module and send
209 you the results of the tests. Again, C<module-starter> and C<h2xs>
210 provide a test framework which you can extend - you should do something
217 If you're uploading to CPAN, the automated gremlins will extract the
218 README file and place that in your CPAN directory. It'll also appear in
219 the main F<by-module> and F<by-category> directories if you make it onto
223 =item Write F<Changes>
225 Add any user-visible changes since the last release to your F<Changes>
230 =head2 Step-by-step: Distributing your module
234 =item Get a CPAN user ID
236 Every developer publishing modules on CPAN needs a CPAN ID. Visit
242 Once again, C<module-starter> or C<h2xs> has done all the work for you.
248 Once you've ensured that your module passes its own tests - always a
249 good thing to make sure - you can C<make distcheck> to make sure
255 The email you got when you received your CPAN ID will tell you how to
257 you can upload your module to CPAN.
259 Alternatively you can use the F<cpan-upload> script, part of the
260 L<CPAN::Uploader> distribution on CPAN.
272 Simon Cozens, C<simon@cpan.org>
274 Updated by Kirrily "Skud" Robert, C<skud@cpan.org>
281 L<https://www.cpan.org/>