CPAN::Uploader(3) User Contributed Perl Documentation CPAN::Uploader(3)

# [ORIGIN](#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.

```
  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".

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

```
  $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.

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

# [POD ERRORS](#POD_ERRORS)

Hey! **The above document had some coding errors, which are explained below:**

[Around line 25:](#Around)

Unknown directive: =method

[Around line 193:](#Around~2)

Unknown directive: =method

[Around line 211:](#Around~3)

Unknown directive: =method

[Around line 281:](#Around~4)

Unknown directive: =method

[Around line 296:](#Around~5)

Unknown directive: =method

2026-10-26 perl v5.44.0

---

Document: CPAN::Uploader(3pm) from perl-cpan-uploader 0.103019-r5 (Chainguard OS)
Source: https://github.com/rjbs/CPAN-Uploader
