Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Document deterministic rand/srand sequence compatibility

Ouverte Adaptée aux débutants
#1,579 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
perl
Domaine
documentation

Piste de recherche

Commencez par examiner la documentation existante de srand, rand et List::Util::shuffle, puis comparez-la avec la limite de compatibilité décrite dans cette issue. Documentez que les séquences initialisées sont reproductibles au sein de PerlOnJava, mais ne doivent pas nécessairement correspondre aux sélections exactes de system Perl ou de CPAN ; ne considérez le mode de compatibilité que comme un travail futur étayé par des éléments provenant de l’écosystème.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

Summary

PerlOnJava currently implements srand and rand with Java’s java.util.Random. A fixed integer seed therefore produces a deterministic sequence within PerlOnJava, but not the same sequence as the reference Perl executable.

Observed CPAN coverage

CPAN tester run 20260930-095822-89295 reported JSONL-Subset 0.05 as failing 6 of 29 assertions in t/basic.t. The only failures were exact expected line selections in random mode after srand(1337). Start and end modes passed.

System Perl 5.42.2 produced the distribution’s expected selections: shuffle(1..10) begins 9,6,7, and the streaming selection is 4,7,10. PerlOnJava selected different, repeatable values.

Expected behavior

Perl documentation permits PRNG implementation changes to alter the specific sequence produced by a seed. Code should rely on repeatability within a given executable, not on CPAN’s exact PRNG sequence. Document this compatibility boundary for srand, rand, and List::Util::shuffle; consider a compatibility mode only if ecosystem evidence later justifies it.

JSONL-Subset is pure Perl; this is not an XS/native-port blocker.

Langage dominant
Perl
Étoiles
64
Forks
8
Merge moyen
5 h 43 min
PR mergées (30 j)
204

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fglock/PerlOnJava

Toutes les issues de fglock/PerlOnJava

Issues similaires

Plus d'issues Perl

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.