Programming Perl - there's more than one way to do it (3. ed.)