v5.42.1: 150k Tests, Extended Operators, and More Perl 5 Features
PerlOnJava continues its march toward full Perl 5 compatibility, now passing over 150,000 tests from the official Perl test suite. This release brings significant language and runtime improvements, adding more built-ins, operators, modules, and compatibility features that make PerlOnJava an even stronger Perl-on-the-JVM solution.
🚀 Highlights
✅ 150k+ Tests Passed
PerlOnJava now successfully runs 150,991 tests from the official Perl test suite, demonstrating major progress in feature coverage and correctness.
🔧 Extended Operators and System Functions
This release adds a wide range of built-ins for user, group, and network information, making PerlOnJava more complete for system-level and network programming:
- User/Group:
getlogin
,getpwnam
,getpwuid
,getgrnam
,getgrgid
,getpwent
,getgrent
,setpwent
,setgrent
,endpwent
,endgrent
- Networking:
gethostbyname
,gethostbyaddr
,getservbyname
,getservbyport
,getprotobyname
,getprotobynumber
- Utility:
reset
➕ Overload Operators
PerlOnJava now supports operator overloading for rich object behavior:
<=>
, cmp
, <
, <=
, >
, >=
, ==
, !=
, lt
, le
, gt
, ge
, eq
, ne
, qr
📦 More Core Modules
Three key modules are now supported:
mro
(method resolution order)version
(object-oriented version objects)List::Util
(common list utilities)
🔡 Language and Syntax Enhancements
- New keyword:
__CLASS__
- Regex extended character classes:
(?[...])
- More
sprintf
formatters for formatting flexibility readline
now respects the$/
special variablePERL5OPT
environment variable supported- New command line switches:
-s
,-f
🐞 Bug Fixes
- Fixed handling of vstrings with codepoints above 65535
PerlOnJava 5.42.1 represents a 50% increase in verified test coverage, with improved syntax, extended modules, and more operators — further narrowing the gap to full Perl 5 compatibility on the JVM.
Explore the project: https://github.com/fglock/PerlOnJava