PerlOnJava
An implementation of the Perl programming language designed to run on the Java platform
Install / Use
/learn @fglock/PerlOnJavaREADME
PerlOnJava
Perl 5 on the JVM — single jar, batteries included
PerlOnJava compiles Perl to JVM bytecode. One jar file runs on Linux, macOS, and Windows — just add Java 22+.
Features
- Single jar distribution — no installation, no dependencies beyond Java
- Full toolchain —
jperl,jperldoc,jcpan,jprove - 150+ modules included — DBI, HTTP::Tiny, JSON, YAML, Text::CSV, and more
- Install more with jcpan — pure-Perl CPAN modules work out of the box
- JDBC database access — PostgreSQL, MySQL, SQLite, Oracle via standard JDBC drivers
- Embed in Java apps — JSR-223 ScriptEngine integration
- Perl 5.42+ features — see feature matrix
Quick Start
git clone https://github.com/fglock/PerlOnJava.git
cd PerlOnJava
make
./jperl -E 'say "Hello World"'
./jperl -MJSON -E 'say encode_json({hello => "world"})'
Full Quick Start Guide — Installation options, database setup, Docker
Documentation
| Getting Started | Guides | Reference | |-----------------|--------|-----------| | Installation | Database Access | Feature Matrix | | Quick Start | Java Integration | CLI Options | | Docker | Using CPAN Modules | Architecture | | One-liners | Module Porting | Testing |
About: Why PerlOnJava? | Roadmap | Changelog | Support
About Perl
Perl is a high-level, general-purpose language known for text processing, system administration, and web development. Learn more: www.perl.org
Contributing
See CONTRIBUTING.md for build instructions, code organization, and how to submit pull requests.
License
Same terms as Perl 5 — Artistic License or GPL v1+. See LICENSE.md. Copyright (c) Flavio Glock
