The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


CPAN::Uploader - upload things to the CPAN


version 0.103004



  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

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


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