Perl
Events
This material is being used during the events organized in the Perl-Maven group.
Chat
How to select a Perl project to contribute to?
- A perl-based project that you use.
- MetaCPAN itself
- CPAN Dashboard
- See the issues
- Check my report and fix issues there. SZABGAB
- A module that you use.
- A direct dependency of a project or a module that you use. Listed in one of the files:
Makefile.PL,Build.PL,cpanfile, etc. - An indirect dependency. Dependency tree of a Perl module on CPAN.
- Search on GitHub: A semi-popular, recently updated Perl project
stars:100..1000 pushed:>2025-10-01 language:Perl - Pick a popular project and work on stale PRs. That is PRs where there is already good work, but the original author (of the PR) has vanished.
- CPAN Digger
What and how to contribute to a Perl project?
- Link to VCS: Make sure MetaCPAN links to the VCS of the module. If not, try to locate the source of the module and send a PR updating the meta-data of the project. If you can’t find it, then you might want to send an email to the author asking if the project has a public repository.
- Testing
- Try to run the tests locally or better yet in a Docker container.
- Testing articles
- Testing book
- Test::More
- Generate test coverage report Devel::Cover
- CI
- If there are tests, check if there is a CI?
- Perl and CI
- Setting up CI:
- GitHub Actions
- GitLab pipelines
- Dependencies
- Add dependabot for GitHub Actions.
- I think Dependabot does not support Perl.
- Code formatting
- Linting
- Fuzz testing
- The App-Test-Generator distirbution comes with a tool called fuzz-harness-generator
- Mutation testing
- Code complexity analyzis
- Code reading
- Refactoring
See also this issue about the goals.
- Adopt a CPAN module
- Take over a CPAN module.
Projects
-
Eugen Konkov asked for help with PRs to DBIx::Class.
- DBIx-Class-Async
- 2026.01.08
- Make Meta:CPAN link to GitHub issues - Merged ✅
- gitignore some generated files - Merged ✅
- Add GitHub Workflow and add test dependencies - Merged ✅
- JQ-Lite
- 2026.01.08
- During our meeting MANWAR created this PR:
- Small improvements to repository to satisfy Kwalite - Waiting 🕰️
- Doubly-Linked-PP
- 2026.01.07
- PR: add meta-data to allow MetaCPAN to link to public repository - Merged ✅
- Net-Clacks
- 2026.01.07
- I sent an email to Rene Schickbauer - Waiting 🕰️
- MetaCPAN::Client
- 2026.01.06
- Issue: Reference {“relation” => “eq”,”value” => 14646} did not pass type constraint “Int” - Fixed ✅
- Exception-Reporter-Summarizer-PlackRequest
- 2026.01.06
- Issue: Why is the repo not included in META.json? - Waiting 🕰️
- Geo-IP2Proxy
- 2026.01.05
- PR: add meta-data to allow MetaCPAN to link to the repository - Waiting 🕰️
- Common-CodingTools
- 2025.12.26
- PR: Add links to VCS - Waiting 🕰️
- PR: Add .gitignore - Waiting 🕰️
- PR: Add GitHub Actions - Waiting 🕰️
- PR: Add test - Waiting 🕰️
- JSON::Schema::Validate
- 2025.12.01
- Showcase: Localised JSON Schema validation in Perl
- PR: add .gitignore file - Waiting 🕰️
- PR: Setup CI - GitLab pipeline - Waiting 🕰️
- Open issue
- Also check out the GitLab pipeline of the Wanted module
- SVG
- 2025.11.11
- As I am a maintainer of this project I could commit and push directly:
- add a test case to check loading attributes and trying to load bad attribute ✅
- add a test case for creating new instance from an existing one ✅
- Net-Async-Redis-XS
- 2022.12.02
- Article: Add GitHub Action CI to the Net-Async-Redis-XS Perl module
- PR: Add GitHub Actions for CI - Merged ✅
- Win32-Wlan
- 2022.12.05
- Article: CI for Win32-Wlan Perl module
- PR: Add GitHub Actions to run the tests on every push - Merged ✅
- RDF::KV
- 2022.12.07
- Article: Be pragmatic setting up CI for the RDF::KV
- PR: Add GitHub Actions - Waiting 🕰️
- Perl::Efl
- 2022.12.08
- Article: Adding CI to Perl::Efl - sometimes you need to do some extra work
- PR: Add GitHub Actions - Merged ✅
- Mojo-UserAgent-Cached
- 2022.12.09
- Article: CI for Mojo-UserAgent-Cached and Plack-Middleware-Greylist
- PR: Add GitHub Actions - Merged ✅
- Plack-Middleware-Greylist
- 2022.12.09
- Article: CI for Mojo-UserAgent-Cached and Plack-Middleware-Greylist
- PR: Add GitHub Actions - Merged ✅
- Log::Any
- 2022.12.14
- Article: CI for the Log::Any Perl module
- PR: Add GitHub Actions - Merged ✅
- Marpa::R2
- 2022.12.16
- Article: Moving from Travis-CI to GitHub Actions for Marpa::R2
- Issue: CI: Does Travis-CI still work for you?
- Issue: IO::Select and other modules in the IO package report version 1.49 whle IO itself is 1.50
- Issue: cpan/engine/read_only/tests/* files missing
- PR: Add GitHub Actions - Rejected ❌ (it will be setup later)
- Plack-Middleware-LogAny
- 2022.12.19
- Article: CI for Plack-Middleware-LogAny
- PR: add github actions - Waiting 🕰️
- MIME-Types
- 2022.12.24
- Article: CI for perl5-MIME-Type
- PR: Add GitHub Actions - Merged ✅
- Data::Alias
- 2022.12.25
- Article: CI for Data::Alias in Perl - including threaded perl
- PR: Add GitHub Actions - Merged ✅
Notes
- In the Dist::Zilla world Dist::Zilla::Plugin::GithubMeta adds the META information based on a github remote called ‘github’ or ‘origin’.