CPAN::Uploader(3)
π CPAN::Uploader β the manual page, bestie edition π
okay so. this is the CPAN::Uploader(3) page β it's User Contributed Perl Documentation, and it's literally the little module that yeets your stuff up to the CPAN for you. no system calls, no drama, just vibes and uploads. let's get into it β¨
πΈ NAME πΈ
CPAN::Uploader β upload things to the CPAN π«Ά
β VERSION β
version 0.103019
π¦ PERL VERSION π¦
okay so this library should run on perls released even a long, long time ago. like, it should work on any version of perl released in the last five years. bestie it's flexible.
but β and this is the fine print β even though it may work on older versions of perl, there is no guarantee that the minimum required version won't 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 don't come for us, k? π
π METHODS π
β¨ upload_file β¨
CPAN::Uploader->upload_file($file, \%arg);
$uploader->upload_file($file);
valid arguments are, and I'm listing all of them, no cap:
userβ (required) your CPAN / PAUSE id πpasswordβ (required) your CPAN / PAUSE password πsubdirβ the directory (under your home directory) to upload tohttp_proxyβ uri of the http proxy to useupload_uriβ uri of the upload handler; usually the default (PAUSE) is rightdebugβ if set to true, spew lots more debugging outputretriesβ number of retries to perform on upload failure (5xx response)retry_delayβ number of seconds to wait between retries
this method attempts to actually upload the named file to the CPAN. it will raise an exception on error. also upload_uri can also be set through the ENV variable CPAN_UPLOADER_UPLOAD_URI. π«
β¨ new β¨
my $uploader = CPAN::Uploader->new(\%arg);
this method returns a new uploader. you probably don't need to worry about this method, bestie. it's giving β¨internalβ¨.
valid arguments are the same as those to upload_file.
β¨ read_config_file β¨
my $config = CPAN::Uploader->read_config_file( $filename );
this reads the config file and returns a hashref of its contents that can be used as configuration for CPAN::Uploader.
if no filename is given, it looks for .pause in the user's home directory (from the env var HOME, or the current directory if HOME isn't set). so if you're like "where is my config" β it's there. π
see CONFIGURATION in cpan-upload for the config format.
β¨ log β¨
$uploader->log($message);
this method logs the given string. the default behavior is to print it to the screen. the message should not end in a newline, as one will be added as needed. noted. π
β¨ log_debug β¨
this method behaves like log, but only logs the message if the CPAN::Uploader is in debug mode. so it's the shy one of the two. π«£
π ORIGIN π
this code is mostly derived from cpan-upload-http by Brad Fitzpatrick, which in turn was based on cpan-upload by Neil Bowers. I (rjbs) didn't want to have to use a system call to run either of those, so I refactored the code into this module. and honestly? iconic behavior. π
π AUTHOR π
Ricardo SIGNES <cpan@semiotic.systems>
π«Ά CONTRIBUTORS π«Ά
these legends helped out, periodt:
- Barbie
<barbie@missbarbell.co.uk> - Christian Walde
<walde.christian@googlemail.com> - David Caldwell
<david@porkrind.org> - David Golden
<dagolden@cpan.org> - fREW Schmidt
<frioux@gmail.com> - Gabor Szabo
<szabgab@gmail.com> - Graham Knop
<haarg@haarg.org> - Karen Etheridge
<ether@cpan.org> - Kent Fredric
<kentfredric@gmail.com> - Marcus Ramberg
<marcus.ramberg@gmail.com> - Mark Fowler
<mark@twoshortplanks.com> - Mike Doherty
<doherty@cs.dal.ca> - perlancar
<perlancar@gmail.com> - Ricardo Signes
<rjbs@semiotic.systems> - Shlomi Fish
<shlomif@shlomifish.org> - Steven Haryanto (on Asus Zenbook)
<stevenharyanto@gmail.com> - sungo
<sungo@sungo.us> - Thibault DUPONCHELLE
<thibault.duponchelle@amadeus.com> - Torsten Raudssus
<github@raudssus.de> - Vincent Pit
<perl@profvince.com>
π COPYRIGHT AND LICENSE π
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. π
π and that's the whole page, bestie. go upload something iconic. π
this was CPAN::Uploader(3), perl v5.42.0, dated 2026-02-25 β mwah, bye! π
π¦ where this page comes from
- fedora 44: perl-CPAN-Uploader 0.103019-1.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms