pperl 0.6.8#
2026-07-27 to 2026-07-28, 3 commits.
--cpaninstalls pure-Perl CPAN distributions for pperl. Modules built into pperl count as installed at pperl’s own version, not at the host perl’s, so they are never rebuilt.ExtUtils::MakeMaker: a distribution’s
Makefile.PLruns and writes the same Makefile as on perl5.B::svref_2object(\$v)->MAGICdied for lack of aB::MAGICclass, which stopped everyMakefile.PL;B::MAGICnow exists with its accessors.$Config{eunicefix}is:as on perl5, so MakeMaker no longer executes the Makefile it has just written.The daemon:
pperl --via-daemon script.plruns the script from its cached compiled image, asPPERL_DAEMON=2does; the reduced mode that a bare--via-daemonused to select is now--via-daemon=trunk, and any other value is refused with the accepted forms.--via-daemon=scriptandPPERL_DAEMON=2, documented as the same request, kept separate caches, so a script run both ways was never served from its cached image again; they now share one.Safe: a subroutine signature inside a
Safecompartment was denied, becauseOpcodetook its op tags from the host perl’sOpcode.pm, which lacks the signature ops of perl 5.44. The tag table is now part of pperl, and the host perl’sOpcode.pmis no longer loaded.Encode: an encoding alias registered at run time works with
encodeanddecode, not only withresolve_alias.PDL: slicing a slice no longer checks bounds against an unset shape,
severdetaches an ndarray from its parent, and operations with a scalar on aflowingndarray no longer leave empty results or crash.Daemon guide: the chapter “Fast start-up: the daemon” gains a worked example (about 24 ms per cold run against about 4 ms from the cached image, on the machine it was written on), how to check whether a run was served, how to opt in from a shebang line or a shell function, a systemd user unit, and an exact description of
--daemon-idle.