---
name: "CPAN::Changes::Parser"
section: "3pm"
platform: "linux"
package: "perl-cpan-changes"
version: "0.500005-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/CPAN::Changes::Parser"
---

# CPAN::Changes::Parser(3pm)

Parse a CPAN Changelog file

## NAME

CPAN::Changes::Parser - Parse a CPAN Changelog file

## SYNOPSIS

```
  my $parser = CPAN::Changes::Parser->new(
    version_like => qr/\{\{\$NEXT\}\}/,
    version_prefix => qr/=head\d\s+/,
  );
  my $changelog = $parser->parse_file('Changes', ':utf8');
  my $changelog = $parser->parse_string($content);
```

## DESCRIPTION

Parses a file or string into a CPAN::Changes object.  Many forms of change log are accepted.

## ATTRIBUTES

### version\_like

A regular expression for a token that will be accepted in place of a version number.  For example, this could be set to `"qr/\{\{\$NEXT\}\}/"` if the Dist::Zilla plugin \[NextRelease\] is managing the file.

### version\_prefix

A regular expression for a prefix that will be matched before a version number. `"qr/=head\d\s+/"` could be used if the change log is using Pod headings for the release headings.

## METHODS

### parse\_file

Parses a file into a CPAN::Changes object.  Optionally accepts a string of layers to be used when reading the file.

### parse\_string

Parses a string into a CPAN::Changes object.

## AUTHORS

See CPAN::Changes for authors.

## COPYRIGHT AND LICENSE

See CPAN::Changes for the copyright and license.
