The PerlOnJava talk from FOSDEM 2026 is now online.
PerlOnJava: A Perl distribution for the JVM
๐
Feb 1, 2026 - Flavio Soibelmann Glock
Video:
https://video.fosdem.org/2026/h2215/NGYLQZ-perlonjava_a_perl_distribution_for_the_jvm.av1.webm
The PerlOnJava talk from FOSDEM 2026 is now online.
PerlOnJava: A Perl distribution for the JVM
๐
Feb 1, 2026 - Flavio Soibelmann Glock
Video:
https://video.fosdem.org/2026/h2215/NGYLQZ-perlonjava_a_perl_distribution_for_the_jvm.av1.webm
296k lines of Perl code running on the JVM.
PerlOnJava milestone: Image::ExifTool 13.44 (Phil Harvey) runs unmodified.
**PerlOnJava v3.0.0: Faster, Lighter, Smarter! ๐**
- On-demand code generation for faster loading
- Lower memory usage with optimized scalars
- Faster execution via JVM `MethodHandle`
- New modules: `Time::HiRes`, `Benchmark`
- `/ee` regex modifier for advanced text processing
- `Dockerfile` + `--upgrade` for smooth setup
PerlOnJava v2.3.0: Modern Perl meets the JVM! ๐
- New modules: YAML, Text::Balanced, Unicode::Normalize.
- Subroutine signatures + experimental `class` keyword.
- Regex upgrades: named captures, Unicode properties, atomic groups.
- jperl/jperl.bat wrappers for easy CLI execution.
- Chained operators, stacked file tests, here docs.
- Overloading (`""`, `0+`, bool).
Bringing Perlโs flexibility to Java ecosystems!
PerlOnJava v2.2.0: DBI Support!
- Perl updated to v5.40.0.
- Added `DBI` with JDBC support, `URI::Escape`.
- New `builtin` methods: inf, nan, weaken, blessed, ceil, trim, and more!
- Enhanced `for` loop: multi-value iteration, aliased vars.
- New `^^` (low-precedence xor) operator.
- Command-line flag: `-S`.
- Configure.pl for compiler/JDBC setup.
More power, and Perl compatibility!
PerlOnJava v2.1.0: Modules & Performance Boost!
- Added Getopt::Long, JSON (via fastjson2).
- Multithreaded print = 2x faster terminal output.
- New: subs pragma, regex $+, file tests (-R, -W, -X).
- Command-line flags: -v, -V.
- Feature flag: evalbytes, core overrides, hex floats.
More robust, faster, and Perl-like!
PerlOnJava v2.0.0: A Major Leap!
- Core modules: File::Find, Data::Dumper, Term::ANSIColor, HTTP::Tiny.
- use feature: fc, say, try, bitwise, postderef.
- SUPER::method, AUTOLOAD, stash as hash.
- Regex: [[:ascii:]], /xx.
- Pragmas: builtin, re, vars.
- Operators: stat, lstat, dir ops.
More work ahead, but closer to a full Perl port on JVM!
PerlOnJava v1.11.0: Compile-time Features
Support for BEGIN, CHECK, UNITCHECK, INIT, END blocks.
Subroutine hoisting: Call subs before declaring them.
Enhanced Exporter.pm, glob assignments.
New modules: constant, if, lib, Internals::SvREADONLY, Carp.
goto &name (not a tail call), state vars.
Added $SIG{ALRM}, ${^GLOBAL_PHASE}.
Operators: fileno, getc, prototype.
\N{U+hex} in strings/regex.
PerlOnJava v1.10.0: Operators & Special Vars
- Error messages now mimic Perl.
- Added special vars $., $], $^V, $SIG{__DIE__}, $SIG{__WARN__}.
- Command-line switches -E, -p, -n, -i, -0, -a, -F, -m, -M, -g, -l, -x, -?.
- New operators: ~., &., |., ^.
- try/catch statement, lvalue subs, v-strings, Infinity/NaN, more Unicode.
- CI/CD on Ubuntu & Windows.