CPAN::Uploader - upload things to the CPAN


version 0.103015



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


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.


  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.


  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.



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.


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


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.


Ricardo SIGNES <>


  • Barbie <>

  • Christian Walde <>

  • David Caldwell <>

  • David Golden <>

  • fREW Schmidt <>

  • Gabor Szabo <>

  • Graham Knop <>

  • Kent Fredric <>

  • Mark Fowler <>

  • Mike Doherty <>

  • perlancar (@netbook-zenbook-ux305) <>

  • Ricardo Signes <>

  • Steven Haryanto (on Asus Zenbook) <>

  • sungo <>

  • Torsten Raudssus <>

  • Vincent Pit <>


This software is copyright (c) 2020 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.