CPAN::C...::Parser(3)

πŸ’– NAME πŸ’–

okay so bestie, we're in CPAN::C...::Parser(3) territory β€” straight from the User Contributed Perl Documentation β€” and the actual module is CPAN::Changes::Parser. It's the parser for CPAN changelogs, and it's lowkey iconic. No cap. πŸ’…

✨ SYNOPSIS ✨

Here's the vibe:

         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 πŸ¦‹

It parses a file or a string into a CPAN::Changes object. Many forms of change log are accepted β€” yes, it's flexible like that. ✨

πŸŽ€ 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. Obsessed with a configurable token, honestly. πŸ’–

🌷 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. Pod-heading changelogs get a little prefix glow-up. 🫢

πŸ”₯ METHODS πŸ”₯

πŸ’« parse_file πŸ’«

Parses a file into a CPAN::Changes object. Optionally accepts a string of layers to be used when reading the file. A string of layers, bestie β€” that's the optional bit. πŸŽ€

⭐ parse_string ⭐

Parses a string into a CPAN::Changes object. Short and slay. πŸ’…

πŸ‘‘ AUTHORS πŸ‘‘

See CPAN::Changes for authors. Not me, I'm just the messenger. 😭

See CPAN::Changes for the copyright and license.


okay that's the whole page, bestie! πŸ’– This was perl v5.42.0, dated 2025-07-25, and it belongs to CPAN::C...::Parser(3) β€” go forth and parse those changelogs. πŸ¦‹πŸ«Ά

πŸ“¦ where this page comes from