Unix for Perl programmers: pipes and processes


Perl’s great at making easy things easy — hiding unnecessary complexity. Naturally, that applies to Unix programming, so that, for example, capturing the output from a shell command is trivial.

Unfortunately, you sometimes find yourself in a situation where Perl’s standard facilities aren’t quite enough. For example, what if you want to run multiple processes in parallel? What if you need to both pipe input to a process and capture its output? What if you want to run a command, but stop if it takes too long?

Perl also makes hard things possible: it gives you unfettered access to Unix’s low-level APIs for dealing with these things — as long as you know how to use them.

This talk discusses how to use those low-level bits of Unix from your Perl programs, taking a cookbook-style approach to show how to use them for getting real work done.