How-To#

Two kinds of task-oriented material live in this section. The distinction matters because it tells you how much time to put aside and what you’ll walk away with.

Guides are long-form and multi-chapter. You read them the way you read a book - cover to cover, or chapter by chapter with each chapter building on the last. A guide covers a whole subject in depth. The regex guide, for instance, takes you from m// through Unicode properties and backtracking performance; the debugging guide covers everything from attaching -d to decoding production stack traces.

Tutorials are narrow and single-sitting. One tutorial, one topic, one specific question answered. You land on a tutorial with a task in mind and leave with it done. No larger arc, no required prior reading.

Guides#

PPerl Architecture

How pperl is built: the JIT, the FFI, native modules, and the concrete differences from upstream Perl 5.

PPerl Architecture
Concurrent Execution

Doing work in parallel: auto-parallelization, the ithreads reality, and how to choose between them.

Concurrent Execution
Regular Expressions

Perl regex from first principles through performance tuning.

Regular expressions
Performance

Making Perl run fast on pperl: measuring with the right tools, which classic idioms still pay off, and how to shape a loop so the JIT and parallelizer take it.

Performance
Object-oriented Programming

Modern class/field/method first, classical bless for maintainers, migration paths.

Object-oriented programming
Debugging

Finding and fixing bugs: the -d debugger, inspecting live state, production-path tools.

Debugging Perl programs
One-Liners

pperl at the shell: -e, implicit loops, progressive recipes, parameterised aliases, quoting gotchas.

The Definitive Perl One-Liner Guide
Tying Variables

Making a variable dispatch through a class: tied scalars, arrays, hashes, and filehandles, with a complete worked class for each.

Tying variables
Coming from another language

Perl by analogy for developers fluent in another language: each construct you already know mapped to its Perl counterpart, with the gotcha the similarity hides. Python, PHP, Ruby, Lua, sed, awk, shell and Tcl.

Coming from another language
2D graphics

Two-dimensional graphics in Perl, from the pixel up: the drawing algorithms, the raster and vector toolkits, reaching C libraries through pperl’s native FFI, and two runnable capstones on SDL2 (a drawing app and a 2D game).

The Definitive Guide to 2D Graphics with Perl
3D graphics

Three dimensions: the transform pipeline, meshes and model formats, a software rasteriser you write yourself, and the GPU through pperl’s native Peta::WebGPU binding.

The Definitive Guide to 3D Graphics with Perl

Tutorials#

Pack & Unpack

Binary data layout: directives, endianness, network protocols, file formats.

pack and unpack - a tutorial
Working with I/O Streams

The full open story: modes, encoding layers, pipes, in-memory handles, error handling.

I/O streams - a tutorial
Perl References

Scalars, arrays, hashes, code, anonymous and weak references, nested structures.

References - a tutorial
Unicode in Perl

Text vs bytes, source encoding, PerlIO layers, Unicode regex, common pitfalls.

Unicode - a tutorial
Boolean Logic for Perl Programmers

Truthiness, all sixteen binary operators, De Morgan, NAND/NOR completeness, bitwise and regex applications.

Boolean Logic for Perl Programmers - a tutorial
Interprocess Communication

Runnable IPC cookbook: subprocesses, FIFOs, TCP and UDP sockets, socket pairs, System V semaphores and shared memory.

Interprocess communication - a tutorial
Installing CPAN Modules

pperl --cpan: where modules land, how pperl finds them, why the installer needs telling what pperl already has, and what the no-XS rule means in practice.

Installing CPAN modules - a tutorial
The Interactive Mode

ipps, the prompt that runs Perl: values as you would write them, variables that stay, Tab completion, commands to inspect, time and ask the JIT, and a start file for your own macros.

ipps, the interactive mode - a tutorial