"This is a superb book. Another splendid book
from Lincoln, whose mastery and lucid exposition make this a
must-have for the serious Perl programmer."
--Jon Orwant, Chief Technology Officer, O'Reilly & Associates
Founder of The Perl Journal, author of Mastering Algorithms with Perl, (O'Reilly & Associates)
and co-author of Programming Perl, Third Edition (O'Reilly & Associates)
Network Programming with Perl is a comprehensive, example-rich guide to creating network-based applications using the Perl programming language. Among its many capabilities, modern Perl provides a straightforward and powerful interface to TCP/IP, and this book shows you how to leverage these capabilities to create robust, maintainable, and efficient custom client/server applications.
The book quickly moves beyond the basics to focus on high-level, application programming concepts, tools, and techniques. Readers will find a review of basic networking concepts and Perl fundamentals, including Perl's I/O functions, process model, and object-oriented extensions. In addition, the book examines a collection of the best third-party modules in the Comprehensive Perl Archive Network, including existing network protocols for e-mail, news, and the Web.
The core of the book focuses on methods and alternatives for designing TCP-based client/server systems and more advanced techniques for specialized applications. Specific topics covered include:
The Berkeley Sockets API
The TCP protocol and the IO::Socket API
FTP filesharing service
The Net::Telnet module for adapting clients to interactive network services
SMTP, including how to create and send e-mails with multimedia attachments
POP, IMAP, and NNTP for receiving and processing e-mail
HTTP and the LWP module for communicating with Web servers
Forking servers and the UNIX and Windows inetd daemons
Perl's experimental multithreaded API
Multiplexed operations and nonblocking I/O
TCP urgent data
UDP protocol and servers
Broadcasting and multicasting
Interprocess communication with UNIX-domain sockets
Useful, working programs demonstrate ideas and techniques in action, including a real-time chat and messaging system, a program for processing e-mail containing MIME attachments, a program for mirroring an FTP site, and a Web robot.
Network Programming with Perl focuses on TCP/IP rather than just the common Web protocols. Modeled after the critically acclaimed TCP/IP Illustrated by W. Richard Stevens, this book achieves a level of detail far superior to most. It is an essential resource for network administrators and Perl programmers who are creating network applications.