Uploading Your
First Module
to CPAN
brian d foy!
The Perl Review!
August 2014, Chicago.pm
Tonight’s Goals
• Create a PAUSE account!
• Create a basic module!
• Set up a git repo!
• Create a Github account!
• Uploa...
PAUSE
PAUSE
• You upload through PAUSE!
http://pause.perl.org!
• The Perl Authors Upload Server!
• This is a stepping stone to C...
Indexing
• PAUSE indexes and creates data files
for the CPAN clients!
• Only the latest distributions get into it!
• People...
Get PAUSE Account
https://pause.perl.org/pause/query?ACTION=request_id
Choose a module name
https://pause.perl.org/pause/query?
ACTION=pause_namingmodules
Acme::MyFirstModule::PAUSEID
Permissions
• You can upload a namespace
someone else already uses!
• But PAUSE will ignore it!
• A good name goes a long ...
Create
Create the distro
• There are modules that can help you!
• Module::Starter!
• Distribution::Cooker!
• h2xs (comes with Per...
Module::Starter
25,000 Examples
• Look at other distributions as examples!
• See how other people do it!
• Ask them questions
Git
Github
Upload
Upload early & often
• You don’t have to be perfect!
• … or even good!
• Other people can help as soon as possible!
• CPAN...
Upload
https://pause.perl.org/pause/authenquery?ACTION=add_uri
Now, break it
• Insert a mistake in your module!
• Ensure the tests pass!
• Bump the version number!
• Reupload!
• Push ch...
Pull request
Fork a repo
Clone it
Send Pull Request
Check sites
CPAN Search
MetaCPAN
Lots more
• PAUSE lets you add co-maintainers!
• You can take over existing modules!
• You can help with other people’s
mo...
Publicize your module
• Don’t be shy!
• Write something on blogs.perl.org!
• Tweet it, plus it, facebook it!
• Give a ligh...
Getting help
• For help with PAUSE issues, write to
modules@perl.org!
• One of the PAUSE volunteer admins
can help you!
• ...
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
Upcoming SlideShare
Loading in...5
×

CPAN Workshop, Chicago 2014

1,238

Published on

Upload your first module to the Comprehensive Perl Archive Network, interact with it in Github, and send and merge pull requests from co-maintainers.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
  • No mention of dzil? Held my hand nicely for my first module.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,238
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

CPAN Workshop, Chicago 2014

  1. 1. Uploading Your First Module to CPAN brian d foy! The Perl Review! August 2014, Chicago.pm
  2. 2. Tonight’s Goals • Create a PAUSE account! • Create a basic module! • Set up a git repo! • Create a Github account! • Upload a module! • Send a pull request! • Merge a pull request
  3. 3. PAUSE
  4. 4. PAUSE • You upload through PAUSE! http://pause.perl.org! • The Perl Authors Upload Server! • This is a stepping stone to CPAN
  5. 5. Indexing • PAUSE indexes and creates data files for the CPAN clients! • Only the latest distributions get into it! • People have permissions for namespaces
  6. 6. Get PAUSE Account https://pause.perl.org/pause/query?ACTION=request_id
  7. 7. Choose a module name https://pause.perl.org/pause/query? ACTION=pause_namingmodules
  8. 8. Acme::MyFirstModule::PAUSEID
  9. 9. Permissions • You can upload a namespace someone else already uses! • But PAUSE will ignore it! • A good name goes a long way! • We have general advice on names! https://pause.perl.org/pause/query? ACTION=pause_namingmodules
  10. 10. Create
  11. 11. Create the distro • There are modules that can help you! • Module::Starter! • Distribution::Cooker! • h2xs (comes with Perl)! • many others
  12. 12. Module::Starter
  13. 13. 25,000 Examples • Look at other distributions as examples! • See how other people do it! • Ask them questions
  14. 14. Git
  15. 15. Github
  16. 16. Upload
  17. 17. Upload early & often • You don’t have to be perfect! • … or even good! • Other people can help as soon as possible! • CPAN Testers can send you feedback
  18. 18. Upload https://pause.perl.org/pause/authenquery?ACTION=add_uri
  19. 19. Now, break it • Insert a mistake in your module! • Ensure the tests pass! • Bump the version number! • Reupload! • Push changes up to Github
  20. 20. Pull request
  21. 21. Fork a repo
  22. 22. Clone it
  23. 23. Send Pull Request
  24. 24. Check sites
  25. 25. CPAN Search
  26. 26. MetaCPAN
  27. 27. Lots more • PAUSE lets you add co-maintainers! • You can take over existing modules! • You can help with other people’s modules
  28. 28. Publicize your module • Don’t be shy! • Write something on blogs.perl.org! • Tweet it, plus it, facebook it! • Give a lightning talk
  29. 29. Getting help • For help with PAUSE issues, write to modules@perl.org! • One of the PAUSE volunteer admins can help you! • For general module questions, you might try module-authors@perl.org! • For CPAN Search issues, try cpansearch@perl.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×