CPAN::Uploader(3pm)

NAME
CPAN::Uploader - upload things to the CPAN

VERSION
version 0.103019

PERL VERSION
This library should run on perls released even a long time ago. It should work on any version of perl released in the last five years.

Although it may work on older versions of perl, no guarantee is 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.

METHODS

  upload_file
  CPAN::Uploader->upload_file($file, \%arg);

  $uploader->upload_file($file);

Valid arguments are:

  user        - (required) your CPAN / PAUSE id
  password    - (required) your CPAN / PAUSE password
  subdir      - the directory (under your home directory) to upload to
  http_proxy  - uri of the http proxy to use
  upload_uri  - uri of the upload handler; usually the default (PAUSE) is right
  debug       - if set to true, spew lots more debugging output
  retries     - 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. "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.

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).

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.

  log_debug
This method behaves like "log", but only logs the message if the CPAN::Uploader is in debug mode.

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.

AUTHOR
Ricardo SIGNES <cpan@semiotic.systems>

CONTRIBUTORS

•   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.