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
sprintfformatters for formatting flexibility readlinenow respects the$/special variablePERL5OPTenvironment 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