CPAN-UPLOAD(1)

πŸ“¦
version 0.103019 Β· 4 versions
, in fedora 44

πŸ’– CPAN-UPLOAD πŸ’–

okay bestie, so cpan-upload is literally the little tool that yeets your distribution up to the CPAN. that's it, that's the whole gig. it's a User Contributed Perl Documentation page, so you KNOW it's giving ✨community✨.


✨ VERSION ✨

version <code>0.103019</code> β€” that's the one, don't @ me πŸ’…


πŸ¦‹ PERL VERSION πŸ¦‹

okay so the tea here is: this library should run on perls released even a long time ago. lowkey generous of it ngl. it should work on any version of perl released in the last five years. 🫢

but β€” and hear me out β€” although it may work on older versions of perl, there is no guarantee made that the minimum required version will not be increased. the version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. so like, don't come for it if your ancient perl stops vibing. it said what it said. πŸ’€


🌸 USAGE 🌸

here's the whole rundown, verbatim, no edits, we respect the source:

usage: cpan-upload [options] file-to-upload-1 [ file-to-upload-2 ... ]
  -v --verbose       enable verbose logging
  -h --help          display this help message
  --dry-run          do not actually upload anything

  -u --user          your PAUSE username
  -p --password      the password to your PAUSE account
  -d --directory     a dir in your CPAN space in which to put the file
  --http-proxy       URL of the http proxy to use in uploading
  --ignore-errors    instead of aborting, continue to next file on error
  -c --config        config file to use; defaults to ~/.pause
  --md5              compute MD5 checksums of the files
  --retries          number of retries to perform on upload failure
  --retry-delay      number of seconds to wait between retries

let me break those down for you one by one because you deserve it πŸ’–

  • -v, --verbose β€” turns on verbose logging. she's chatty now. πŸ—£οΈ
  • -h, --help β€” shows you this exact help message. the classic "help me help you" move.
  • --dry-run β€” does not actually upload anything. it's the dress rehearsal, the practice run, the mirror-selfie of uploads. πŸ™ˆ
  • -u, --user β€” your PAUSE username. yes, PAUSE. that's your CPAN identity, bestie. πŸ‘‘
  • -p, --password β€” the password to your PAUSE account. guard it with your life. 🀫
  • -d, --directory β€” a dir in your CPAN space in which to put the file. pick your lil folder, put it where you want it.
  • --http-proxy β€” URL of the http proxy to use in uploading. for when your network is doing the most and you gotta go through a middleman. 🧚
  • --ignore-errors β€” instead of aborting, continue to next file on error. she's resilient, she's moving on, she's not dwelling. πŸ’…
  • -c, --config β€” config file to use; defaults to ~/.pause. so if you don't say anything, she's checking ~/.pause, periodt.
  • --md5 β€” compute MD5 checksums of the files. checksums! for the record! ⭐
  • --retries β€” number of retries to perform on upload failure. because sometimes the internet is simply not cooperating and we try again. 😭
  • --retry-delay β€” number of seconds to wait between retries. give it a lil breather between attempts. 🌈

πŸŽ€ CONFIGURATION πŸŽ€

so if you have a .pause file in your home directory, it will be checked for a username and password. she's nosy like that but in a helpful way. it should look like this:

user EXAMPLE
password your-secret-password

and here's the fun part: you can GnuPG-encrypt this file if you wish, but you must install Config::Identity and configure your gpg-agent, as Config::Identity currently doesn't prompt for a password at decryption time. so like, no password prompt for you, you gotta set that up yourself. πŸ™ˆ

here's how you do the encrypted thing, verbatim:

# Follow the prompts, setting your key as the "recipient"
# Use ^D once you've finished typing out your authentication information
gpg -ea > $HOME/.pause
# OR, encrypt a file you already created:
gpg -ea $HOME/.pause && mv $HOME/.pause{.asc,}

like, either you pipe it in fresh, or you encrypt the one you already made and rename it. two paths, same destination, main character energy either way. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

go read these too, iykyk:

  • CPAN::Uploader
  • Config::Identity

πŸ’œ AUTHOR πŸ’œ

Ricardo SIGNES <cpan@semiotic.systems> β€” the icon, the legend, the author. πŸ™Œ


This software is copyright (c) 2026 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. free software!! the way that it's literally free and open. we love to see it. πŸ’–


okay that's the whole page bestie, you're officially caught up. this was cpan-upload from perl v5.42.0, dated 2026-02-25, and it ate. no cap. go upload something iconic. πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from