Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

bug: preserve reference values from tied-hash values()

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
java, perl
Domain
compilers

Research direction

Use the upstream CPAN test t/1_basic.t, especially test 8, as the behavioral reference, then locate the tied-hash values implementation and existing project regression tests. Add focused coverage for reference-valued FETCH results, validate it with system Perl, and confirm both JVM and interpreter backends pass while retaining the CPAN test as integration coverage.

Written by the indexing model from the issue text.

Description

area:backend area:runtime bug

Summary

values %hash on a tied hash can return scalar iteration values instead of
the references returned by the tie object's FETCH method.

Evidence

  • CPAN distribution: Tie::MultiKeyInsertOrderHash 0.1 (pure Perl).
  • Archived CPAN run: 20260928-091741-26386.
  • Upstream test: t/1_basic.t, test 8, Values in right order test.
  • System Perl 5.42.2: 16/16 tests pass.
  • PerlOnJava JVM backend: 15/16 tests pass; test 8 fails.
  • PerlOnJava interpreter backend: the same 15/16 result and test-8 failure.

The distribution's tie class stores an array reference for each key. After
assigning repeated values to A and B, standard Perl makes
[values %hash] contain those array references. PerlOnJava instead reports
the first scalar value ('1') where the first array reference ([1, 3]) is
expected. keys %hash and list-context each %hash pass in the same test.

Expected behavior

For a tied hash, values %hash must preserve the actual values returned by
the tie interface, including references. It must not substitute the scalar
value paired with a key during tied iteration.

Acceptance criteria

  • Add a project-owned focused regression that verifies reference-valued
    FETCH results from values %tied_hash.
  • Validate the test with system Perl first.
  • Verify JVM and interpreter backend success.
  • Retain the existing CPAN test as integration coverage.

Duplicate check

No issue matched the distribution name or stable failing test. Closed #20 is
limited to a tied element access in void context, and open #1269 is a broad
core-suite tracker for repeated FETCH calls; neither covers this result
materialization error.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
4h 42m
Merged PRs (30d)
182

Getting set up

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.