pperl 0.6.6#
2026-07-26 to 2026-07-27, 12 commits.
Modules#
Compress::Raw::Zlib is native and uses the system’s zlib, so
Compress::Zlib, the pure-PerlIO::Compress::GzipandDBM_Filter::compresswork. Its version,ZLIB_VERNUM, compressed lengths, CRC-32 and Adler-32 checksums and status codes match perl5’s. bzip2 is not covered.Import lists:
useof a native module accepts Exporter’s full grammar:!nameand!:tagremove names, a list that begins with a removal starts from the default exports, and:DEFAULTis a tag.use Compress::Raw::Zlib qw(!crc32 !adler32), as IO::Compress writes it, imported nothing and left the module unusable. Unknown names are reported together in one error, as Exporter does.Storable no longer warns “Attempt to free unreferenced scalar” when a stored structure refers to the same value more than once. Weak references come back from
thawanddcloneas weak references, without the “panic: del_backref” error.PDL: assigning through a slice, as in
$a->slice("1:3") .= pdl(10,20,30), works; it died with “dimension mismatch” or set the parent’s elements to zero.use re:use re 'taint',use re 'eval'anduse re '/aa'take effect; they were silently ignored.POSIX, Socket and Encode gain export tags: POSIX
:math_h, Socket:crlf,:addrinfoand:all, Encode:all,:default,:fallbacksand:fallback_all. POSIX also hasstrxfrm.Devel::Peek:
SvREFCNT($x)works as documented; every call died with a usage message.Hash::Util:
hash_traversal_maskreads and sets a hash’s traversal mask, and returnsundeffor a hash that has none, as on perl5; it always returned 0.
Command line#
The daemon can keep a compiled image of a script:
--via-daemon=scriptorPPERL_DAEMON=2runs the script from it, so a repeated run skips compiling the script and the modules it loads as well as starting the interpreter.--daemon-max-scripts=Nlimits how many scripts are kept (100 by default; the least recently used goes first), and--daemon-resetdrops one script’s image, or with no path all of them, and exits.--interactive, in builds that offer it, says on standard error that it is not implemented and exits with status 2. It printed a banner and reported success without running anything.
Distribution#
Benchmark suite: pperl’s benchmark suite ships as a separate archive with its documentation and runs outside a source tree. It finds pperl through
--pperl=PATH,$PPERL, apperlbeside it or on thePATH, and--displayshows saved results without a pperl binary.