perlres
List of resources about Perl
Perl 5 raptor from kraih, licence CC-BY-SA 4.0
๐ Summary
Derived from LinuxFR french article Pour tout savoir du Perl post-moderne.
As a reminder, Perl is a general-purpose programming language created inย 1987 by Larryย Wall.
"Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers" (dixit perldelta)
Perl is distributed under a dual licenceย : Artisticย Licence andย GPLโฏv1+. Most of CPAN modules follow the same rule.
๐ท Perlย core development
Perl github - The Perl interpreter source code and its gitweb mirror
๐ Perl bug tracker - The public issue tracker and the former Perl bug tracker (Request Tracker)- ๐ซ Perlย porters mailing list - Mailing list of the Perl core developers
๐จ Compile and install Perl - If you want to compile it by hand (if you don't want Perl vendor)๐ป Perl Delta - The latest changelog๐บ Changelogs - All changelogs๐ Very detailed history of Perl versions - Date and major changes from Perl creation to today- ๐ต Deprecations - The latest list of deprecated symbols
๐ง Portability - Perl supports more than 100 platforms๐ SmokersDB - Perl core testing ("smokers")
๐ Official
๐ perl.org - Perl's "home" (twitter, facebook, github)๐ฐ Perl Foundation - Theย Perl Foundation (twitter, facebook, github)๐ White Camel Awards - Yearly awards for important social contribution to Perl (also whitecamel.org)
โ๏ธ Distributions, modules and installers
- ๐ cpanm - Modern CPAN modules installer byย Tatsuhikoย Miyagawa (CPAN profile)
- โฉ cpm - A fast, parallel CPAN module installer
๐ ActivePerl - Perl distribution for Windows/OSX/Linux๐ช ๐ ๐ง (github)๐งฉ asdf - Perl plugin for asdf, a polyglot version manager๐ Strawberry Perl - Perl distribution for Windows (github)๐จ Perlbrew - Perl binaries installer- ๐ง plenv - Another Perl binaries handler. Differences between perlbrew and plenv
๐ Berrybrew - The perlbrew for Windows Strawberry Perl๐ PSPerl - Manage Strawberry Perl installs in your HOMEPATH๐ Carton - A bundler for Perl (uses cpanfile)- ๐ Carmel - Yet another CPAN module manager.
๐ Task::Kensho - List of important modules๐ฐ Corelist - A web interface of the tool corelist used to know coreย modules shipped in a specific version ofย Perl.๐ด CPAN.pm - Venerable CPAN modules installer, part of core distribution, fully configurable (github)๐ธ CPAN Plus - API to access CPAN mirrors (+ CPAN modules installer)- ๐ง cnext - Experimental CPAN module installer based on an alternative index (github)
๐ช General
๐ณโโ๏ธ Perlย Monks - The Perl Stackย Overflow๐ณโโ๏ธ Perlย Monksโฆ again - Because it's so cool, even if it looks like a cave๐ ๐ Perldocย from perl.org andย perldoc from grinnz๐ ๐ฐ Core modules list - Web interface to the toolcorelist
๐ Perlย Maven - A huge website about Perl๐ Perl Meme - A website about Perl (tutorials, FAQ and more)- ๐ฒ Square Perl - Multilingual site about Perl programming
- ๐ซ Enlightened Perl - An organization supporting Perl
๐ P3rl.org - Documentation portal about Perl- ๐ BIP - Blog, job board and companies directory (twitter)
โฝ Around the CPAN
๐ CPAN Deps - Listย dependencies for a CPAN module (github)- ๐ CPAN Deps Graph - Visually (graph) list dependencies for a CPAN module (github)
๐ CPAN Doc - Documentation of some important modulesโ๏ธ CPANย Testers - Build and test reports of CPAN modules๐ BackPAN - The entire history of CPAN- ๐ CPANย Map - Namespaces map of CPAN modules
- โ๏ธ CPANย Cover - Test coverage of CPAN modules
โ CPANย TS - Kwalitee metrics- ๐ CPANย IO - CPAN authors rankings according to their activity
CPAN PRC - CPAN Pull Request Challenge
๐พ CPAN Mirrors - The CPAN mirrors around the worldโ๏ธ StratoPAN - Private CPAN repositories in the cloud- ๐ CPAN Audit - Audit CPAN modules for security vulnerabilities
๐ CPANMeta - Browse CPAN metadata (github)PAUSE - Perl Authors Upload Server (github)
๐ฝ CPAN Meta DB - (Yet another) CPAN metadata database (github)- ๐ฆ grep::cpan - Grep the CPAN
๐ CPAN::Groonga - Yet another CPAN grep service๐ณ PerlModules.net - Track changes in CPAN modules (changelog, RSS...)๐ CPAN Rocks - CPAN metrics๐ CPAN Weekly - Newsletter about CPAN modules๐ฏ CPAN Dashboards - CI dashboards for CPAN๐ CPAN Glossary - CPAN Glossary (see also Perl Glossary)
๐ป Social
Community
(See also Perl Mongers)
๐ฌ Perlย Reddit - Subreddit for Perl๐ Perl is dead - Community articles/emails/IRC/blogs feed๐ฏ๐ต Perl Entrance - Sort of Perl Mongers group in JapanPerl Mongers - Perl Mongers
French Perl Mongers - French Perl Mongers group
- ๐ฌ IRC channels - IRC channels for the French mongers, Mojolicious, Dancer, Catalyst, etc...
๐ช irc.perl.org - IRC server with several Perl related channels (twitter)๐ญ Perl Weekly Challenge - Friendly coding competition (twitter)๐ฐ The Perl Journal - E-Zine about Perl๐ Perl Advent Calendar - Advent calendar about Perl๐ Mojolicious Advent Calendar - Advent calendar about Mojolicious web framework๐ Dancer Advent Calendar - Advent calendar about Dancer web frameworkPull Request Club - Linking maintainers with contributors (github)
๐ฅ Perl Cast - Podcasts about Perl (also perlcast.net)๐ฐ Perl Master Plan - Marketing materials about Perl
Newsfeeds
๐ฐ Perl Planet - Newsfeed๐ฐ Perl Buzz - Newsfeed (twitter)๐ Perl.com - Newsfeed (github)- ๐ Perl Weekly - Newsletter gathering Perl news and links (twitter)
Blogging
๐ซ Blogs about Perl - Blog service for Perl folks (github)๐พ use.perl.org Archive - Archive of Perl-specific blogging website with lots of articles๐ท Typepad - Blogging platform based on Movable Type๐ช Nice Perl blog - An important blog- ๐ฌ Cultured Perl - A blog about Perl (twitter)
- ๐ซ Perlย Hacks - Just another Perl Hacker's blog
๐ซ Effective Perl Programming - Perl's new features, and using Perl well๐ช Dev.to #Perl - #Perl tag on Dev.to blogging platform๐ฐ Medium Perl tag - #Perl tag on Medium๐ซ Perl academy - A (german) blog about Perl๐ฉ๐ช
Conferences
๐ฒ YAPC - Major Perl events (wikipedia)๐ถ YAPC::NA - North American flavor of YAPC. Since 2017 it is renamed as TPC๐ซ YAPC::Europe - European flavor of YAPC. 2019 edition is known as PerlCon๐ช YAPC::Asia / YAPC::Japan - Asian/Japanese flavor of YAPC (supported by Japan Perl Association)๐ฌ YAPC::SA - South American flavor of YAPC๐ YAPC::Russia - Russian flavor of YAPC- ๐ญ YAPC::Australia - Australian flavor of YAPC
โ๏ธ Perl QA Hackathon๐ช Perl Toolchain Summit๐ฆ meta::hack๐ฝ OSDC - Various events like Israel OSDC, French OSDC, Taiwan OSDC, Australia OSDC or Malaysia OSDC๐ซ๐ท French Perl Workshop๐ซ๐ท Perl Fun Again๐ซ๐ท Patch.pm -pn- ๐ช Several others - Several Perl workshops or events
- ๐ช Perl conferences using Act - A list of Perl conferences
๐ The Ephemeral Miniconf
๐ Official documentation
- โ Perlย FAQ - Perl FAQ table of content (several FAQ pages)
๐ฃ Perlre - Regular expression documentation and tutorial and quickย start
๐ฃ Operators list and builtโin functions- ๐ How to write modules/packages or here - or write a new module. Some advices to respect the style in modules
๐ฃ Perl syntax - Doc about Perl syntax๐ References and tutorial- ๐ Documentation aboutย IPC
- ๐ Perl securityย - About taintย checking (or ยซย dataย flow analysisย ยป), setuid, cleanย PATH or algorithm complexity attacks
- ๐ Reports generation thanks toย formats -ย Documentation about formats. Formats are a reason of the initial creation of Perl, but they are limited and less and less used
๐ง Debugger documentationโฏ- The Perl debugger is itself written in Perlย๐ช ๐ฝ perlobj and tutoย oo - Object Oriented Programming in Perl
๐บ๐ธ Tutorials
๐ Perl Maven (twitter)๐ Learn Perl in about 2ย hours and 30ย minutes๐ Minimum Viable Perl (MVP)๐ Perl Begin๐ฏ Perl101๐ Perl Tutorial Points๐ Perl Tutorial๐ Perl in 1ย day guru99โ๏ธ Exercism.io - Learn Perl with code practice and mentorship
๐ซ๐ท Tutorials in French
๐ Guide Perl๐ Formation-Perl- ๐ Guide de programmation pour apprendre Perl
- ๐ Site du zero
๐ช๐ธ Tutorials and related resources in Spanish
- ๐ Perl en espaรฑol
๐ Perl en Bioinformรกtica๐ One liners๐ซ #!/perl/bioinfo
๐ณ Interactive tutorials
๐ Perltuts - Learn modern Perl any time and from everywhere๐ ๐ Learnย Perl - Free interactive Perl tutorial๐ ๐ซ TryPerl - TryRuby clone for Perlโค๏ธ (github)
๐ซ Tutorials meta-site
- ๐ Perl tutorials - Perl tutorials meta site
Perl folklore
๐ฃ "Perl" vs "perl"ย - Perl is the language, perl is the interpreter, PERL is how you catch newbies๐ถ JAPH - Just Another Perlย Hacker
๐ PerlSecret - Secret operators and their nice nicknames- โ $A++ - More than three hundred ways to increment
$A
, by the Paris Perl Mongers
๐ฒ Magic variables - Why some hate or love Perl (among other reasons)๐ฏ TIMTOWTDIย - There's more than one way to do itโป๏ธ Only perl can parse Perl or PPI๐ถ Perl poetry, including for instance Larry Wall's Blackย Perlโณ Perl Golf - Codeย Golfโณ Anarchy Golf - Code golf (not dedicated to Perl)- ๐ฉ Laziness, Impatience and Hubris - The three chief virtues of a programmer
๐ DWIM - Do What I Mean principle (not this DWIM)๐ State of the onionAcme modules - Purely entertainment modules
๐ค Easy things should be easy and hard things should be possible๐ ๐ท Get the job done๐ ๐ Obfuscated Perl Contest - OPC 0, OPC 1,OPC 2, OPC 3, OPC 4 and OPC 5๐ถ Perl Poetry Contest - PPC 1, PPC 2- ๐ฏ๐ต Perl Haiku Contest
๐ถ NeoCPANisms - Sit well and (try to) release new dists each month๐ผ ๐ Larry Wall Awards - Annual award to the best contribution assigned during the TPC (old editions)
๐ฉ PHP was sometimes referred as People Hate Perl๐ ๐ฉ Write Only Language - Relatively common๐ ๐ผ Baby Perl - Programming with a reduced set of builtins and idioms๐ถ - ๐ Perl idioms - Perl offers powerful idiomatic expressions (see fluent Perl or this node)
๐ Principle of least astonishment - Apply to experienced programmers ๐- ๐ The CPAN river - Metaphor about CPAN dependencies
๐ The keeper of the pumpkin - The Perl maintainer (currently Sawyer X)๐ Blead - Blead is the default development branch for Perl๐ Perl is often considered as being the duct tape of the Internet
๐ช Larry Wall Homepage - Prepare your eyes๐ Pearl of great price - The biblical reference that inspired Larry Wall to name Perl๐ช Perl fortunes - Collection of Perl related quotes to be used as a fortune database
๐ Perl Ecosystem
โฝ CPAN - It is commonly accepted that the Perl killerย app is CPAN ("CPAN is the language, Perl is just the syntax" - Audrey Tang)๐ MetaCPAN - Search the CPAN (twitter)
News and forums engines
- ๐ช YaBB - Forum engine
๐ฌ Everythingย Engine - News platform engine and questions/answers platform (PerlMonks is powered by this)๐ซ Slashcode - News and questions/answers platform engine (Slashdot is powered by this)๐ช DuckDuckGo Instant Answer - An aggregator of questions/answers platform (github)
CMS
- ๐ Movable Type - CMS (github)
๐ Imperia CMS - CMS- ๐บ ACT - CMS for conferences (github)
- ๐ Bricolage - CMS (github)
- ๐ Qgoda - Extensible static website generator (github)
๐ Krang - CMS๐ WebGui - CMS๐ Simpleness - CMS๐ Callisto - CMS๐ Spine - CMS๐ XIMS - CMS๐ Blaze Blogger - Static site generator๐ Galileo - CMS๐ Blio - CMS๐บ Labyrinth - Website Management Framework๐ท Expose - Static site generator for photoessays- ๐ Contenticious - File based CMS (github)
๐บ CiderCMS - Flexible CMS for small to mid sized websites (github)๐ Gruta - A web content management system (git)๐ Mira - Static website generator (github)- ๐ StaticVolt - Static website generator
๐ Followme - Static website generator- ๐ HiD - Static website publishing framework
๐ Trestle - A light/extensible CMS๐ Mowyw - Static website generator (github)
Blogging
- ๐ซ Blosxom - Blogging engine
๐ช PearlBee - Blogging platform๐ซ Statocles - Static blog generator (github)๐ฌ Giblog - Static blog generator๐ช Plstblog - Static blog generator written by aย LinuxFR user- ๐ฌ Riji - Static blog generator (based on Wallflower)
๐ช Dreamwidth - Shared blogging๐ซ Angerwhale - Blogging engine๐ Plerd - A blogging engine based on markdown and dropbox๐ช Rapi Blog - Blogging engine (based on RapidApp)๐ซ Tumblelog - A static microblog generator- ๐ช Blawd - A static microblog generator
Mailing lists engines
๐ซ Sympa - Mailing lists engine๐ฌ Minimalist - Mailing lists engine๐ช Dada Mail - Mailing lists engine๐ญ Majordomo - Mailing lists engine (github)
Email filtering
๐ช SpamAssassin - Email spam filtering๐ง Amavis - Email filter interface๐ฌ POP file - Email filteringโ ASSP - Anti Spam๐ PostGrey - Postfix policy server implementing greylisting (github)
Communication
๐บ Cider Mail - Webmail application๐ฌ Convos - IRC web client (github)
Monitoring
๐ Munin - Supervision software (like Nagios and Shinken)๐ Monitorix - Lightweight system monitoring tool๐ MRTG - Monitoring traffic load on network links (github)๐ Webmin - Web interface to administer Unix like machines๐ Open Smart - Network and application monitoring- ๐ Loggerithim - Monitoring and remote management package
๐ OPS View - Network and application monitoring- โณ Net Disco - Network management tool
๐ฌ SmokePing - Monitor network latency (github)๐ผ Stormons - Monitoring and mapping SAN storage devices.๐ Proclet - Minimalist supervisor๐ Rainbarf - Fancy resource usage chartsโ Thruk - Multi-backends web interface for monitoring (github)๐ Mailgraph - Mail statistics graphs (github)
Logs analyzers
- ๐ AWStats - Webserver logs analyzer (github)
- ๐ Octopussy - Log analyzer (github)
- ๐ Squid Analyzer - Log analyzer (github)
- ๐ W3Perl - Log analyzer
- ๐ Yaala - Log analyzer
- ๐ Log Watch - Log analyzer
๐ SEC - Log analyzer๐ก Cricket - Collect and print data series๐ Torrus - Collect and print data series๐ pgBadger - PostgreSQL log analyzer (github)
Job queues
๐ Minion - A high performance job queue- ๐ท Gearman - Job server
๐ Qudo - Job queue manager๐ Resque - Job queue manager- ๐ก TheSchwartz - Job queue manager
- ๐ก Helios - Distributed job processing and application framework
Tickets trackers
๐ Request Tracker - Bug tracker (github)๐ OTRS - Ticket tracker (github)๐ BugZilla - Bug tracker (github)๐ Otobo - Web based ticketing system (github)
Wiki
โ๏ธ Oddmuse - Wiki engine๐ Ikiwiki - Wiki engineโ๏ธ TWiki - Wiki engine๐ค FosWiki - Wiki engine (github)โ๏ธ UseMod - Wiki engine๐ WikiWikiWeb - First wiki ever๐จ MojoMojo - Wiki engine based on Catalyst๐ฐ Socialtext Open - Wiki engine๐ AmuseWiki - Wiki engine (github)
E-Commerce
๐ณ Interchange - E-Commerce platform (github)๐ฐ Surf Shop - Shopping cart๐ธ Agora Cart - Shopping cart๐ฑ Ledger SMB - ERP (github)โ๏ธ SQL-Ledger - ERP
Backup tools
- ๐พ RSnapshot - Backup utility based on rsync
๐ฝ ABT - Another Backup tool๐ฟ Backup PC - Backup tool
Games
- ๐ Tau Station - A text based web space game
๐ด Frozen Bubble - Very famous game๐ฎ Lacuna Expanse - Space game๐ Construder - Minecraft-like game
Web application frameworks
โ๏ธ Mojolicious - Web framework created by Sebastianย Riedel (CPAN profile)๐ซ Catalyst - Web framework๐ Dancer - Minimalist Web framework created byย Alexisย Sukrieh (see Dancer 1 and Dancer 2)๐ Jifty - Web framework- โ๏ธ Cyclone 3 - Web application framework
- ๐ Amon - Web application framework (github)
๐ Poet - Web application framework๐ Gantry - Web application framework๐ฆ Kossy - Simple web application framework๐ผ Squatting - Web microframework๐บ Tatsumaki - Non-blocking web framework based on Plack and AnyEvent- ๐ Raisin - REST API micro framework
๐ Maypole - MVC web application framework๐ฌ Angelos - Web application framework๐ Web::Simple - Simple web application framework๐ Ark - Lightweight Catalyst-ish web application framework๐ฏ Shenker - Web application framework๐ Noe - Web application framework๐ Kamui - Web application framework based on Plack๐ Web Nano - Really minimalistic web framework.๐ RapidApp - Web toolkit and framework based on Catalyst (github)- โ๏ธ Kelp - A web framework light (github)
- ๐ Marquee - Yet another Mojo based web framework
๐ท Piggly - A straight forward PSGI web framework๐ PEF::Front - A web framework๐ค Web::Machine - A RESTful web framework modeled as a state machine๐ฅ Combust - A web framework
PSGI adapters and web servers
๐ท Plack - PSGI toolkit and server adapter๐ HTTP::Server::Simple - Simple standalone HTTP daemon๐ฏ HTTP::Daemon - Simple http server class๐ฐ HTTP::Tiny - Minimalist HTTP client๐ถ Continuity - Library to simplify web applications (including a web server)๐ญ Starman - High-performance preforking PSGI server๐ฑ Twiggy - AnyEvent HTTP server for PSGI๐ป Starlet - Simple and high-performance PSGI server- ๐ธ Corona - Asynchronous PSGI server
๐ Gazelle - Preforked Plack handler for performance freaks๐ด Arriba - PSGI server with SPDY support๐น Perlbal - HTTP load balancer๐ HTTP::Engine - Web server๐ Feersum - PSGI engine based on EV/libev๐น Server::Starter - Super Daemon to handle hot deployment of server programs- ๐ Starlight - PSGI/Plack HTTP server with pre-forks
Templating
๐ Mason - Templating system๐ EmbPerl - Templating system๐น Template Toolkit - Templating system (github)๐ DTL::Fast - Perl port of Django templating language (github)ใฐ๏ธ Template::Mustache - Templating system Mustache (github)๐จ Template::Flute - Templating system for designers๐ค Text::MicroTemplate - Templating system
Compiler and alternative interpreters
๐ง Compiler Perlito - Perlย toย Java and Perlย toย JavaScript๐ช RPerl - Restricted Perl, an optimizing compiler (github)๐ง CPerl - Alternative Perl interpreter๐จ TinyPerl - Very compact Perl binary to be shipped with your scripts๐ธ StaticPerl - Helper script to create self contained statically linked Perl binary + script๐ง Compiler PerlC - Perl to C compiler๐ช Relocatable Perl - Patched Perl binary to make it relocatable๐ท Perl Build - A Perl builder- ๐จ Perl Cross - Configure and cross-compile perl
๐ง Stableperl - Perl fork aiming for stability
Perl Application Bundlers / Packagers
๐ PAR::Packer - Generate standalone executables from Perl programs๐พ Perl Executing Browser - HTML interface for Perl desktop applications๐ฐ PerlApp - Convert Perl program into a standalone application (commercial : part of ActiveState Perl Dev Kit)๐ต Perl2Exe - Convert Perl scripts to executable file (commercial)๐ฉ App::FatPacker - Pack your dependencies onto your script fileโจ UsePAR::Packer
,Mojolicious
, andMojolicious::Plugin::Loco
to create self-contained "web" application that runs locally, and uses web browser for GUI.๐ PPM - Perl Package Manager
Assets management
- ๐ฟ FusionInventory - IT assets web inventory
- ๐ OCS NG - IT assets web inventory
- ๐ Koha - Integrated Library System (gitweb)
- ๐ Evergreen ILS - Library management
Git
GitWeb - Web interface to git repositories (bundled with git)
๐ Gitolite - Git hosting (github)๐ข GitPrep - Portable github system (github)๐ Gitalist - Modern git viewer- ๐ Girocco - Git hosting system behind the first public git hosting https://repo.or.cz
๐ Git Spark - Plot git commit history with sparklines
Database tooling
๐ฝ MySQL Tuner - MySQL configuration and tuning- ๐ฟ Sqitch - Database change management application
๐ผ ETL - Data migration helper๐ QDepo - Graphical software to convert various DB data to various office formats๐พ Bucardo - Master/slave Postgres replication
IDE
- ๐ป Padre - IDE (github) for Windows/OSX/Linux
๐ช ๐ ๐ง ๐บ Open Perl IDE - IDE for Windows ๐ช๐ซ Plugin for Intellij IDEA - Perl5 support plugin compatible with any JetBrains IDE on Linux/Mac/Windows (github)
Continuous Integration
- ๐ซ Crafty - Simple CI server
- ๐ง Open Build Service (partially) - openSUSEย Buildย Service is a continuous packaging platform. See OBSย buildย scripts and OBSย backend
๐ Project Builder - Continuous packaging software (trac and sources)๐ข App::Stew - In-app package manager๐ Repositorio - A tool to mirror and administrate linux repositories (yum, apt, yast, dockerhub...).๐ OpenQA - Automated test tool based on QEMU (github)- ๐ Hydra - A Nix-based continuous build system
Desktop Applications
๐ฅ Shutter - Screenshot utility๐ป Ravada - Remote Virtual Desktops Managerโ๏ธ Kephra - Editor- ๐ GUIDeFATE - Design GUI in ASCII art
Tooling for Devs
๐ด GNU Automake - Automatically generates Makefile.in files๐ Cloc - Count line of code๐ง Devel::hdb - Another Perl debugger- ๐ Diff So Fancy - The best-lookin' diffs
๐ฅ Flame Graphs - Profiled code visualization๐ Markdown - Markdown was initially created by John Gruber and Aaron Schwartz and implemented in Perl (git)- ๐ง Daiku - Kind of make
๐ข PDL - For scientific calculations๐ Fink Project - Tool to help porting software from UNIX like to macOS- ๐ Reply - Perl REPL
๐ผ Ack - Grep replacement, optimized for developers (ack 1, ack 2 and ack 3)- ๐ POD Web View - Edit POD file with live preview (github)
๐ GNU Parallel - Shell tool to execute commands in parallel (github)๐บ Hl - PCRE-based highlighter for terminalโ๏ธ Vnlog - A toolkit for manipulating tabular ASCII data- ๐ st - Simple statistics from the command line
Sysadmin
๐ Rex - A framework to simplify system administration and datacenter automation (github)๐ Proxmox VE - A virtualization and LXC platform๐ฝ CloneZilla - Partition and disk imaging/cloning program๐ก Zevenet - Load balancer (github)โป๏ธ Virtualmin - Hosting and website control panel๐ Pinto - Create local CPAN repositories๐ Inxi - Print system informations (github)๐ฎ Cowsay - The cow that can speak๐ Asciiquarium - An aquarium in your terminal๐ Web Sorrow - Security scanner๐ช LemonLDAP::NG - WebSSO, Access Management and Identity FederationPacketFence - Network access control (NAC) solution (github)
๐ Plain VM - Controle multiple VMs๐ Urpmi - Package manager๐ Trizen - Lightweight AUR Package Manager๐ง Ashafix - Postfixadmin port in Perlโช๏ธ Shorewall - Gateway/firewall configuration tool๐ง NicTool - A DNS management solution (github)๐ Ferm - A frontend for iptables- ๐ SQLFairy - Convert SQL statements to graphs (github)
- ๐ป RemoteBox - VirtualBox Client with Remote Management
- ๐ซ Nipe - Script to make Tor network your default gateway
๐ค Nikto - Webservers security scanner๐ฝ ZnapZend - Backup ZFS with remote capabilitiesโฐ NTPPool - Virtual cluster of timeservers (github)
Hosting
Uncategorized
- ๐ OpenFoodFacts - Open database about food
๐ฉ EPrints - Software to build Open Access repositories (github)๐ Dezi - Search platform- ๐ฏ๐ต LANraragi - Web application for reading manga
๐ฒ PerlyBook - Convert POD to EPUB/MOBI books๐ง ExifTool - Meta informations reader/writer (github)๐ข BioPerl - BioPerl distribution (github)๐น Youtube Viewer - Search and stream videos on Youtube๐ Po4a - Ease softwares translation (github)๐ถ MIDI-Perl HOWTO - Create algorithmic musical compositions
Other Perl lists
Another Repository List - List of popular git repositories
- ๐ธ A Perl Products List - Perl products according to Perl Maven (a lot of them are already in the list above)
๐ Awesome Perl - Curated list of awesome Perl stuff๐ Awesome Perl (again) - Another curated list of awesome Perl stuff๐ CPAN in a nutshell - List of Perl modules
๐ป Execute Perl online
๐ Perl Banjoย - Share runnable Perl codeโค๏ธ ๐ช (twitter)๐ฉ WebPerl - WebAssembly + Emscripten (demo andย source)๐ฐ Perlbot - Run and share Perl code
๐ฅ Execute Perl online (sites not dedicated to Perl)
๐ Tutorial Points๐ฝ Rextester- ๐ช JDoodle
๐ฌ TIO - Try It Online- ๐ฆ Paiza
๐ Coding Ground- ๐ JS.do
โถ๏ธ Online GDB - Online Perl interpreter- ๐ Glot.io - Runnable, open source pastebin snippets with API
๐ป Lint Perl online
- โก PerlCritic - Web frontend to Perl::Critic
๐ Books
๐ซ PerlSchool - Online catalog of low cost high quality Perl books (twitter)๐ Some books and some others
๐ Learning Perl (Llama book) (2021)๐ Perl new features (2021)๐ Preparing for Perl 7 (2020)๐ The best of Perl Hacks (2020)๐ Learning Perl Exercises (2020)๐ Cucumber and Perl (2020)- ๐ Mojolicious Web Clients (2020)
๐ Advanced Perl Programming: From Advanced to Expert (2020)๐ Pro Perl Programming: From Professional to Advanced (2020)- ๐ Perl one-liners cookbook (2020)
๐ Perl Programming for Beginners (2020)๐ Programming Perl (John Bach) (2020)๐ Beginning Perl Programming: From novice to professionnal (2019)๐ Step-by-Step Perl Programming (2019)- ๐ Perl : best 2020 (2019)
๐ง A practical guide to testing (2018)๐ Selenium and Perl (2018)๐ Programming the Raspberry Pi with Perl (2018)๐ Single Page Application with Perl Dancer (2018)๐ Testing Strategies for Modern Perl (2018)๐ Perl Taster (2017)๐ Practical Magick with C, PDL, and PDL::PP (2017)- ๐ Advanced programming in Perl for beginners with example for geoscientists (2016)
๐ Modern Perl (2015)๐ Perl and regular expressions quick start workbook (2015)๐ Perl by example (2014)๐ Penetration Testing with Perl (2014)๐ Language Processing With Perl and Prolog: Theories, Implementation, and Application (2014)๐ Impatient Perl (2013)๐ Perl one liners (2013)๐ Intermediate Perl (Alpaca book) (2012)- ๐ Programming Perl (Camel book) (2012)
๐ Beginning Perl (Curtis "Ovid" Poe) (2012)๐ Perl pocket reference (2011)๐ Perl and Apache: Your visual blueprint for developing dynamic Web content (2011)๐ Perlish Patterns (2011)๐ Effective Perl Programming (2010)- ๐ Catalyst 5.8: the Perl MVC Framework (2010)
๐ Automating System administration with Perl (2009)- ๐ The Definitive Guide to Catalyst (2009)
๐ Learning Perl the hard way (2009)๐ Developing Web Applications with Perl, memcached, MySQL and Apache (2009)๐ Practical text mining with perl (2008)- ๐ Programming for linguist Perl for language researchers (2008)
๐ Mastering Perl (2014)- ๐ Perl programming for the absolute beginner (2007)
๐ Open Source Web Development with LAMP (2007)๐ Mod_perl 2 user guide (2007)๐ Regular Expression Pocket Reference (2007)๐ Perl Golf History (2007)- ๐ Perl Scripting for Windows Security (2007)
๐ Building Web Applications with Gantry and Bigtop (2007)๐ Perl for Exploring DNA (2007)๐ Perl hacks (2006)๐ Perl testing a developer notebook (2006)- ๐ Running weblogs with Slash (2006)
๐ Minimal Perl: For UNIX and Linux People (2006)๐ Building Tag Clouds in Perl and PHP (2006)๐ Wicked Cool Perl Scripts (2006)๐ Perl Power!: The Comprehensive Guide (2006)๐ Advanced Perl Programming (2005)๐ Perl Best Practices (2005)- ๐ Higher Order Perl (2005)
๐ Extreme Programming with Perl (2005)๐ Pro Perl debugging (2005)๐ Pro Perl (2005)๐ Beginning perl web development (2005)๐ RT Essentials (2005)๐ Pro Perl Parsing (2005)๐ Teach Yourself Perl in 24 Hours (2005)- ๐ Beginning Perl (James D Lee) (2004)
๐ Perlish Patterns: Secrets Of The Cpan Masters (2004)๐ Perl Debugger Pocket Reference (2004)๐ Perls of wisdom (2004)๐ Perl Medic: Transforming Legacy Code (2004)๐ On Perl: Perl for Students and Professionals (2004)- ๐ Perl Cookbook (Ram book) (2003)
๐ Perl for dummies (2003)๐ Mastering Perl for Bioinformatics (2003)๐ Web, Graphics & Perl/Tk Programming (2003)๐ Games, Diversions and Perl Culture (2003)๐ Learning Perl Objects References and Modules (2003)๐ Practical Perl with CGI Applications (2003)๐ Perl Template Toolkit (2003)๐ Practical mod_perl (2003)- ๐ Real World SQL Server Administration with Perl (2003)
- ๐ Spidering hacks (2003)
๐ Perl and XML (2002)๐ Perl for Oracle DBAs (2002)๐ Perl & LWP (2002)๐ Perl graphics Programming (2002)๐ Graphic Programming with Perl (2002)๐ Extending and embedding Perl (2002)- ๐ Mastering Perl/Tk (2002)
๐ Mod_perl developer cookbooks (2002)๐ Embedding Perl in HTML with MASON (2002)๐ Web Services with Perl (2002)๐ Perl for C programmers (2002)๐ Writing Perl Modules for CPAN (2002)๐ Perl Developer's Dictionary (Clinton Pierce) (2002)๐ Computer Science & Perl Programming (2002)๐ Teach Yourself Perl in 21 Days (2002)๐ Programming PERL in the .NET Environment (2002)๐ Perl How to program (2002)- ๐ Essential Perl (2002)
๐ Instant CGI/Perl (2001)- ๐ Data Munging with Perl (2001)
- ๐ MySQL and Perl for the Web (2001)
๐ Perl black book (2001)๐ Network programming with Perl (2001)๐ Writing CGI applications with Perl (2001)๐ Total Perl (2001)๐ Perl for the Web (2001)๐ Beginning Perl for bioinformatics (2001)๐ Mod_perl pocket reference (2001)๐ Core Perl (2001)๐ Perl for website management (2001)- ๐ Picking up Perl (2001)
- ๐ Perl 5 internals (2001)
๐ Perl 5 Interactive Course (2001)๐ Perl Web Site Workshop (2001)๐ The Complete Reference: Perl (2001)๐ Custom CGI scripting with Perl (2001)๐ Professional Perl development (2001)๐ Perl Debugged (2001)๐ Win32 Perl Programming: The Standard Extensions (2001)๐ Beginning Perl (Simon Cozens) - Free E-Book (2000)- ๐ Perl for system administration (2000)
๐ Database programming with Perl: Programming the perl DBI (2000)- ๐ CGI programming with Perl (2000) (CGI Programming on the World Wide Web)
๐ Object Oriented Perl (2000)๐ Cross Platform Perl (2000)๐ Elements of Programming with Perl (1999)๐ Perl core language little black book (1999)- ๐ Mastering algorithms with Perl (1999)
๐ Practical Perl Programming (1999)- ๐ Writing apache modules with Perl and C (1999)
- ๐ Learning Perl/Tk (1999)
๐ Automating Windows with Perl (1999)- ๐ Programming Web Graphics with Perl and GNU Software (1999)
๐ Perl/Tk Pocket Reference (1998)- ๐ Perl in a nutshell (1998)
๐ Perl annotated archives (1998)๐ MacPerl: Power and Ease (1998)- ๐ Official Guide to Programming with CGI.pm (1998)
๐ Perl from the ground up (1998)๐ Go to Perl 5 (1998)๐ Perl Power!: A JumpStart Guide to Programming with Perl 5 (1998)๐ Perl 5 Complete (1998)- ๐ Perl the programmer's companion (1997)
๐ Programming with Perl modules (1997)๐ Kit 2: Cgi with Perl Vb and C (1997)๐ The CGI/PERL Cookbook (1997)๐ Web Programming with Perl 5 (1997)- ๐ CGI Developer's Resource: Web programming in Tcl and Perl (1997)
๐ Web Client Programming with Perl (1997)๐ Learning Perl on Win32 Systems (1997)๐ Developing CGI Applications with Perl (1996)๐ Teach Yourself CGI Programming with Perl 5 in a week (1996)๐ Web Programming Secrets With Html, Cgi, and Perl (1996)๐ Creating cool web pages with Perl (1996)
๐ฏ๐ต
Other books ๐ Essence of Perl Text Processing (2021)๐ Perl programming poisoning๐ฏ๐ต (2004)๐ Perl programming for CGI and text processing๐ฏ๐ต (2001)- ๐ Introduction to Perl ๐ฏ๐ต (1994)
๐ Welcome to Perl Country๐ฏ๐ต (1993)๐ Perl Writing Methods๐ฏ๐ต (1993)
Other books ๐ซ๐ท
- ๐ Les fondamentaux du langage Perl 5 : Apprentissage par la pratique (Philippe Banquet) ๐ซ๐ท (2013)
๐ Perl moderne๐ซ๐ท (2012)๐ Apprenez a programmer en Perl (Open Classroom)๐ซ๐ท (2012)๐ Perl pour lโimpatient๐ซ๐ท (2005)- ๐ De Perl a Java : Programmation des expressions regulieres ๐ซ๐ท (2004)
- ๐ Perl 5 (Cyril Vincent) ๐ซ๐ท (2002)
๐ Visuel Pro Perl๐ซ๐ท (2001)๐ Perl 5 (Clinto Pierce)๐ซ๐ท (2001)- ๐ Perl 5 (David Till) ๐ซ๐ท (2000)
๐ Perl mini-reference๐ซ๐ท (2000)๐ L'intro Perl 5๐ซ๐ท (2000)
๐ Develop with Perl
โฌ๏ธ Install CPAN modules
The modern way is to use cpanm (cpanminus). The tool is able to get the requested module and resolve dependencies. For instance, to install the excellent module XML::LibXML from Shlomif which is a wrapper of libxml2, we can do sudoย cpanm XML::LibXML
, that produces the following output (truncated) :
--> Working on XML::LibXML
Fetching http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0201.tar.gz ... OK
==> Found dependencies: Alien::Libxml2
--> Working on Alien::Libxml2
Fetching http://www.cpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.09.tar.gz ... OK
[...]
Building and testing Alien-Libxml2-0.09 ... OK
Successfully installed Alien-Libxml2-0.09
Configuring XML-LibXML-2.0201 ... OK
Building and testing XML-LibXML-2.0201 ... OK
Successfully installed XML-LibXML-2.0201 (upgraded from 2.0128)
13 distributions installed
Reinstalling a set of CPAN modules can be done simply by launching a bunch of cpanm
commands or by specifying dependencies in a cpanfile (and using then carton or cpanm --installdeps .
for the setup).
โ๏ธ Linters
Executable by hand or directly integrated in your scripts, IDE or editors (vim users : ale or syntastic).
-
perlย -c
, to check the syntax. Be careful that it does more than only checking syntax, it actually executes the blocksBEGIN
andEND
(compilation step). This design is the reason why the default linter used by the plugin vimย ale is no longerperlย -c
(nor evenperlย -w
). The syntax checking in Perl is great (as well as the error messages from the interpreter... Iโค๏ธ Perl) -
Perl::Critic, that criticizes your coding style but do not check syntax. For instance, the file
bad.pl
containsย :
use strict;
print "toto" }{
And perl -c bad.pl
printsย :
Unmatched right curly bracket at bad.pl line 3, at end of line
syntax error at bad.pl line 3, near ""toto" }"
Missing right curly or square bracket at bad.pl line 3, at end of line
bad.pl had compilation errors.
But perlcritic bad.pl
tells us that everything is fine bad.plย sourceย OK
(but is not happy with the missing useย strict
).
- A module that was part of the core distribution of Perl but was finally removed in Perlย 5.19โ: B::Lint.
While we are here, how to know the history of a module in the core distribution ? Use corelistโฏ!
corelist B::Lint
that gives usย :
Data for 2017-09-22
B::Lint was first released with perl 5.005, deprecated (will be CPAN-only) in v5.17.9 and removed from v5.19.0
If a module goes out of core distribution it's not dramatic as it continues to be available in CPAN of course.
- And Perl::Lint that focuses on speed while being compatible with Perl::Critic.
โ๏ธ How to compile perl
Actually it will give thisย :
wget https://www.cpan.org/src/5.0/perl-5.30.0.tar.gz
tar -xzf perl-5.30.0.tar.gz
cd perl-5.30.0
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install
๐ Compile modules
If we decide to use or not a module like cpanm, at the end the module is compiled using ExtUtils::MakeMaker or Module::Build. ExtUtils::MakeMaker is a core module, while Module::Build was added then removed (5.9ย โย 5.19). Davidย Golden explains in a blog post why he requested to remove Module::Build.
ExtUtils::MakeMaker
The module ExtUtils::MakeMaker generate a Makefile from Makefile.PL
ย :
perl Makefile.PL
make
make install
Module::Build
The module Module::Build serves the same goal but generates a file Build from the file BUILD.PL
ย :
perl Build.PL
./Build
./Build test
./Build install
๐ง How to contribute ?
Please read CONTRIBUTING.md
๐ Contributors
Thank you to all the fantastic contributors