perlessentials/perl-essentials

By perlessentials

Updated about 1 month ago

Threaded Perl image with curated CPAN modules for scripting, data, DB, testing, and web.

Image
Languages & frameworks
Integration & delivery
Developer tools
1

1.1K

perlessentials/perl-essentials repository overview

perl-essentials

perl-essentials extends the official Perl images with a curated, production-oriented CPAN stack commonly required for automation, data processing, reporting, database access, testing, profiling, and web integrations.

Source and complete documentation: https://github.com/M-M-M-M/perl-essentials

Included module families

  • Database: DBI, DBD::Pg, DBD::SQLite
  • JSON: JSON, JSON::XS, Cpanel::JSON::XS, JSON::MaybeXS
  • XML: XML::LibXML, XML::Hash, XML::XML2JSON
  • HTTP/Web: LWP::UserAgent, REST::Client, HTTP::Cookies
  • Spreadsheet: Excel::Writer::XLSX, Spreadsheet::XLSX
  • Testing: Test::More, Test::MockModule
  • Quality: Perl::Critic, Perl::Tidy
  • Profiling: Devel::NYTProf
  • Concurrency: threads, threads::shared, Thread::Queue
  • Date/Time: DateTime, Date::Calc

Usage examples

docker run --rm perlessentials/perl-essentials:5.42 \
  perl -MDBI -MJSON -e 'print "ready\n"'
docker run --rm -it \
  -v "$PWD":/work \
  perlessentials/perl-essentials:5.42
docker run --rm -it \
  -v "$PWD":/work \
  -v "$PWD/codex-auth":/codex \
  perlessentials/perl-essentials:codex zsh -l
docker run --rm perlessentials/perl-essentials:5.26 perl -e 'print "$^V\n"'

Perl development tools

The image includes perltidy, perlcritic, prove, cpanm, rg, and the GNU-prefixed commands gcat, gfind, ggrep, and gsed.

Perl::Tidy uses /etc/perltidyrc by default. A project-local .perltidyrc under /work takes precedence. Use -pro=/work/custom.perltidyrc to select a specific profile, or -npro to ignore all profiles.

Preview formatting without modifying the mounted file:

docker run --rm -v "$PWD":/work \
  perlessentials/perl-essentials:5.42 \
  perltidy -st -se /work/path/to/script.pl

Format in place without creating a backup, using the host user to preserve file ownership:

docker run --rm --user "$(id -u):$(id -g)" -v "$PWD":/work \
  perlessentials/perl-essentials:5.42 \
  perltidy -b -bext='/' /work/path/to/script.pl

Available targets

Perl seriesImage versionRole
5.265.26.3Legacy baseline
5.325.32.1Broad legacy compatibility
5.365.36.3Common LTS distributions
5.385.38.5Established production series
5.405.40.4Maintained stable series
5.425.42.2Latest stable series
5.435.43.9Development compatibility

Codex target

A codex target is also available, based on the Perl 5.43.9 development image:

TargetPerl baseCodex CLIRTKPublication
codex5.43.9Latest at no-cache build; 0.139.0 observed 2026-06-12Latest at no-cache build; 0.42.4 observed 2026-06-12codex, release, and timestamp tags

Included Perl modules

Versions captured on 2026-06-19 10:11:10 (UTC).

This inventory was captured from the default development image at the timestamp above. Module versions may differ between publication runs. For an exact image, see /opt/perl-essentials/module-versions.txt.

ModuleVersion
Archive::Zip1.68
Archive::Zip::MemberRead1.68
Array::Compare3.0.8
Cpanel::JSON::XS4.42
Cwd3.95
DBD::Pg3.20.2
DBD::SQLite1.78
DBI1.648
Data::Dumper2.192
Data::Peek0.54
Date::Calc6.4
DateTime1.66
DateTime::Format::Excel0.31
DateTime::Format::ISO86010.19
DateTime::Locale1.45
Devel::NYTProf6.15
Digest::SHA6.04
Encode3.24
Excel::Writer::XLSX1.15
Excel::Writer::XLSX::Utility1.15
File::Copy2.43
File::Path2.18
File::Spec3.95
File::Temp0.2312
File::Which1.27
Getopt::Long2.58
HTTP::Cookies6.11
HTTP::Request::Common7.02
I18N::Langinfo0.24
IO::Pty1.31
Imager1.031
JSON4.11
JSON::Lines1.11
JSON::MaybeXS1.004008
JSON::PP4.18
JSON::XS4.04
LWP::UserAgent6.83
List::MoreUtils0.430
List::Util1.70
MIME::Base643.16_01
MIME::Lite3.038
MIME::Parser5.517
Math::Units1.3
Mojolicious::Lite9.46
Net::LDAP0.68
Net::SFTP::Foreign1.93
Perl::Critic1.156
Perl::Tidy20260204
Scalar::Util1.70
Schedule::RateLimiter0.01
Sort::Key1.33
Spreadsheet::XLSX0.18
Test::MockModule0.185.2
Test::More1.302220
Text::CSV2.06
Text::Iconv1.7
Thread::Queue3.14
Time::Duration1.21
Time::HiRes1.9780
Time::Limit0.003
URI::Escape5.34
XML::Hash0.95
XML::LibXML2.0213
XML::LibXML::XPathContext2.0213
threads2.45
threads::shared1.73
utf81.29
utf8::all0.026
REST::Client281
XML::XML2JSON0.06

Tag summary

Content type

Image

Digest

sha256:626c870da

Size

456.4 MB

Last updated

about 1 month ago

docker pull perlessentials/perl-essentials:v0.6.0-5.32.1