You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Image::Magick is a pure-Perl CLI wrapper that delegates to ImageMagick
command-line tools. It provides the same API as the CPAN XS module
(Read, Write, Resize, Crop, Annotate, etc.) without requiring native
PerlMagick bindings.
Requires ImageMagick CLI tools to be installed and in PATH.
Java backend bundled; install DateTime from CPAN with jcpan -i DateTime (timezone data gets frequent updates)
POSIX
Java
Includes strftime, mktime, etc.
Math
Module
Implementation
Notes
Math::BigInt
Java
Uses java.math.BigInteger
Process Control
Module
Implementation
Notes
IPC::Open2
Perl
IPC::Open3
Java
IPC::System::Simple
Perl
Terminal
Module
Implementation
Notes
Term::ReadKey
Java
Term::ReadLine
Java
Term::ANSIColor
Perl
Term::Table
Perl
IO::Tty
Java + Perl
PTY allocation, terminal constants, winsize ops via FFM
IO::Pty
Perl
Pseudo-terminal pairs; depends on IO::Tty
IO::Tty::Constant
Java + Perl
Terminal ioctl constants (TIOCGWINSZ, etc.)
OOP & Introspection
Module
Implementation
Notes
Scalar::Util
Java
Sub::Name
Java
Sub::Util
Java
Class::Struct
Perl
Attribute::Handlers
Perl
Devel::Cycle
Perl
Devel::Peek
Perl
Testing
Module
Implementation
Notes
Test::More
Perl
Test::Simple
Perl
Test::Builder
Perl
Test::Harness
Perl
Test2::Suite
Perl
Full Test2 stack (~100 files)
TAP::Harness
Perl
Full TAP stack (~43 files)
App::Prove
Perl
prove command
Build & Install
Module
Implementation
Notes
ExtUtils::MakeMaker
Perl
PerlOnJava-specific version
CPAN
Perl
Full CPAN client (~30 sub-modules)
CPAN::Meta
Perl
Module::Build::Base
Perl
Parse::CPAN::Meta
Perl
DynaLoader / XSLoader
Java
Routes XS loads to Java implementations
Documentation
Module
Implementation
Notes
Pod::Simple
Perl
~22 sub-modules
Pod::Perldoc
Perl
~12 sub-modules
Pod::Text
Perl
+ Color, Overstrike, Termcap
Pod::Man
Perl
Pod::Usage
Perl
Pod::Checker
Perl
Java Integration
Module
Implementation
Notes
Java::System
Java + Perl
Access JVM system properties
Miscellaneous
Module
Implementation
Notes
Getopt::Long
Perl
Getopt::Std
Perl
Sys::Hostname
Java
I18N::Langinfo
Java
Benchmark
Perl
Filter::Simple
Perl
Filter::Util::Call
Java
Tie::Hash / Tie::Array / Tie::Scalar
Perl
Tie::RefHash
Perl
Implementation Types
Java — Core functionality implemented in Java for performance or JVM
integration. These are in src/main/java/org/perlonjava/runtime/perlmodule/.
Perl — Pure-Perl module bundled in the JAR
(src/main/perl/lib/).
Java + Perl — Java provides the XS-equivalent functions; a Perl .pm
file provides the high-level API.
Adding a New Bundled Module
To bundle a new module into PerlOnJava, see the
Module Porting Guide. After adding the
module, update this page — add an entry to the appropriate category table
with the module name, implementation type, and any notes about external
requirements.