As the title suggests, this book is a complete reference to the Perl programming language. As such, it includes details of everything you want to know about statements, expressions, functions, and regular expressions within Perl. Some highlights of the book include the creation of useful packages and modules, using Perl on the command line and Tk as a cross-platform user interface solution. There are also several chapters dedicated to the design and use of the supported data structures within Perl, and to the processes available for accessing external data structures and databases.Interprocess communication, either between processes on the same machine or between processes on different machines, is also a topic for discussion. The former is handled by a number of tricks and some system-dependent features. For the latter machine communication, you can use network sockets. An alternative solution to the problems of processing between multiple processes is to use threads, which are small, “lightweight” execution sequences that are still owned in their entirety by their parent process, and we also look at how threads can be used to solve these problems.A large portion of the book is given over to the process of getting inside Perl. We examine how Perl works as it parses a Perl script and how that process can be modified with compiler pragmas. Then we move on to the process of extending Perl by writing an interface between Perl and a C function. This allows Perl to use and access an unlimited number of extensions and enhancements to the core Perl language. You can also do the reverse. You can embed the Perl interpreter into a C program, allowing you to use the advanced features of Perl within a C program. You could even build the interpreter into an application to provide a built-in scripting language.A recent development in the Perl interpreter has allowed the creation of a Perl compiler (which is in itself a bit of a misnomer; see Chapter 1 for details). With the compiler you can do many things, including produce some detailed output on the real structure and execution path that your script takes. One of the most significant and useful features, though, is that you can take a Perl script and produce a stand-alone executable program.Perl is also a good cross-platform development tool. See Chapter 1 for a list of some of the platforms that Perl has been ported to. We take a close look at the three main platforms-Unix, Windows, and MacOS-and how they differ, before taking a more generalized view of how to program with Perl in a cross-platform world and ensure the cross-platform compatibility.Finally, the appendixes provide a quick and detailed reference to the Perl functions, error messages, and the standard Perl library that comes with every distribution. Of course, even with the best intentions, it’s possible to have forgotten some element, or not to have gone through a particular element to a deep enough degree, although I hope this won’t be the case for most readers.