Match standard Perl POD item validation in Protocol::IRC

Open
#1,381 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
perl
Domain
compilers

Research direction

Start with the failing t/99pod.t checks and compare the reported Protocol-IRC source lines with standard Perl's Test::Pod behavior. Trace whether the mismatch is in the bundled Test::Pod implementation, POD parsing, or PerlOnJava semantics, then add a focused regression and verify both JVM and interpreter backends plus the unchanged Protocol-IRC 0.13 suite.

Written by the indexing model from the issue text.

Description

bug

Summary

PerlOnJava does not reproduce standard Perl behavior for the POD validation in Protocol-IRC 0.13. The unchanged upstream suite passes under system Perl but fails under PerlOnJava because valid numbered POD items are rejected.

CPAN evidence

CPAN random tester run 20260915-094334-6702:

  • Distribution: Protocol-IRC 0.13
  • System Perl: 17 test files and 269 tests pass
  • PerlOnJava: 2 of 269 tests fail in t/99pod.t
  • All 16 functional test files pass under PerlOnJava
  • The failure reproduces in the PerlOnJava target run and the regression run
  • Both JVM and interpreter behavior should be verified during implementation

The failing diagnostics are:

blib/lib/Protocol/IRC.pm (56): You have '=item 2' instead of the expected '=item 1'
blib/lib/Protocol/IRC.pm (97): You have '=item 2' instead of the expected '=item 1'
blib/lib/Protocol/IRC.pm (103): You have '=item 3' instead of the expected '=item 1'
blib/lib/Protocol/IRC.pm (635): You have '=item 2' instead of the expected '=item 1'
blib/lib/Protocol/IRC.pm (641): You have '=item 3' instead of the expected '=item 1'

The same POD passes the standard Perl Test::Pod check.

Expected behavior

PerlOnJava should accept the same valid POD item numbering accepted by standard Perl and allow t/99pod.t to pass without changing the upstream distribution.

Investigation scope

Determine whether the mismatch is in the bundled Test::Pod implementation, POD parsing, or PerlOnJava semantics exposed to the POD checker. Compare the exact source and parser state at each reported =item and test both execution backends.

Add a focused project-owned regression that is validated with system Perl first, then passes on both PerlOnJava backends. Re-run the complete unchanged Protocol-IRC 0.13 suite after the fix.

This is a pure-Perl compatibility defect, not a timeout, native dependency, service, or platform prerequisite issue.

Related but distinct: #1357 concerns valid POD directives after executable code being parsed as Perl source.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
5h 18m
Merged PRs (30d)
162

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fglock/PerlOnJava

All issues in fglock/PerlOnJava

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.