Programming the Network with Perl: A Book Review

Title: Programming the Network with PerlAuthor: Paul BarryPublisher: John Wiley & Sons, Ltd.URL: glasnost.itcarlow.ie/~pnb/index.html
The focus of Programming the Network with Perl, by Paul Barry, is the network infrastructure: packets and protocols. Perl is the tool that he uses to illustrate and manipulate the network.
Mr. Barry is a lecturer on Computer Networking at the Institute of Technology, Carlow in Ireland. His book is based upon his experiences using Perl to teach students how to program and debug network communications. He uses Perl for this so that students can devote more time to understanding the network instead of working to understand a difficult programming language.
The book consists of six chapters and five appendices. Each chapter starts by explaining the purpose of the material that will be presented. Then a sample application is presented and refined as the chapter progresses with an explanation of why each change was made. Each chapter ends with a list of web and print resources for further study and a set of exercises to test the reader's understanding of the chapter.
The applications in the book make use of several Perl modules available from CPAN as the underpinnings for network manipulation. You don't have to be a Perl expert to use this book, however. This first chapter offers a brief but useful introduction to Perl for non-Perl programmers. In addition, the programs in the book showcase useful code, such as writing to a log file and forking a process.
The second chapter covers installing the Perl modules required to work with network packets and then explains how to build a network sniffer. The sniffer application undergoes several refinements until it becomes a full-fledged network diagnostic and logging tool.
The next two chapters cover network programming with sockets and common protocols. Example programs illustrate the differences between sending data with UDP and TCP transport mechanisms. Other programs make use of the HTTP, SMTP, NNTP and Telnet protocols.
Chapter 5 deals with using Perl to manage network devices with ICMP (Internet Control Message Protocol) and SNMP(Simple Network Management Protocol). The bulk of the chapter discusses SNMP and using Perl's Net::SNMP module.
In the final chapter Mobile Agents are discussed. Mobile Agents are a combination of program and state data that can move to a machine over the network, execute on that machine and then move again. This is different than the typical client-server method, where a program runs on one machine and requests data from other machines.
My few complaints with the book really don't have anything to do with the material itself. Mr. Barry provides short instructions for downloading and installing Perl modules by hand, but he doesn't mention using Perl's CPAN module to do this automatically. I had difficulty installing the modules by hand on my machine, but I was able to get everything installed using the CPAN module. Offering this method as well in the book might help other people.
I also had some difficulty matching the sample programs downloaded from the author's web site with the programs presented in the text. In the book the program listings are broken up by text, which can make them difficult to enter. Perhaps a single program listing with a caption that matches the filenames of the downloaded programs, or at least a standard header comment in the listings supplying the program name, would help.
Programming the Network with Perl is meant to teach a programmer how to program network applications and understand the underlying network transport mechanisms. Perl is the tool by which this is accomplished. Mr. Barry provides plenty of clear explanation for each topic that he covers.
Ralph Krause (www.netperson.net/~rkrause) is a writer, computer programmer and webmaster who lives in Michigan. He has been tinkering with computers for the past 20 years and with Linux for over three years.
email: rkrause@netperson.net
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- Readers' Choice Awards 2011
- 100% disappointed with the decision to go all digital.
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- The Linux powered LAN Gaming House
- Why Python?
- Python for Android
- Employment Posters
1 hour 44 min ago - Sure the best distro is
3 hours 4 min ago - BeOS was the best
5 hours 48 min ago - I use Wireshark on a daily
10 hours 18 min ago - buena información
15 hours 25 min ago - One important "bucket" that I didn't note (désolé si qqun deja d
16 hours 26 min ago - Gnome3 is such a POS. No one
1 day 1 hour ago - Gnome 3 is the biggest POS
1 day 2 hours ago - I didn't knew this thing by
1 day 8 hours ago - Author's reply
1 day 11 hours ago





Comments
Re: Programming the Network with Perl: A Book Review
How does it compare to the book from L.D. Stein, "Network programming in Perl"?
Re: Comparing Books
A (short) interview with Paul Barry is here, and this question comes up.
Compared to L. Stein's book??
Please see the discussion on this very topic on the use.perl.org website. Thanks.