Advanced Perl Programming
Publisher: O'Reilly Media
Final Release Date: August 1997
Pages: 432

So you've learned Perl, but you're getting frustrated. Perhaps you've taken on a larger project than the ones you're used to. Or you want to add a user interface or a networking component. Or you need to do more complicated error trapping.

Whether your knowledge of Perl is casual or deep, this book will make you a more accomplished programmer. Here you can learn the complex techniques for production-ready Perl programs. This book explains methods for manipulating data and objects that may have looked like magic before. Furthermore, it sets Perl in the context of a larger environment, giving you the background you need for dealing with networks, databases, and GUIs. The discussion of internals helps you program more efficiently and embed Perl within C or C within Perl.

Major topics covered include:

  • Practical use of packages and classes (object-oriented programming)
  • Complex data structures
  • Persistence (e.g., using a database)
  • Networking
  • Graphical interfaces, using the Tk toolkit
  • Interaction with C language functions
  • Embedding and extending the Perl interpreter

In addition, the book patiently explains all sorts of language details you've always wanted to know more about, such as the use of references, trapping errors through the eval operator, non-blocking I/O, when closures are helpful, and using ties to trigger actions when data is accessed. You will emerge from this book a better hacker, and a proud master of Perl.

Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyAdvanced Perl Programming
 
3.4

(based on 7 reviews)

Ratings Distribution

  • 5 Stars

     

    (2)

  • 4 Stars

     

    (1)

  • 3 Stars

     

    (2)

  • 2 Stars

     

    (2)

  • 1 Stars

     

    (0)

Reviewed by 7 customers

Sort by

Displaying reviews 1-7

Back to top

(0 of 3 customers found this review helpful)

 
3.0

Its Ok

By Bala

from India

About Me Developer

Pros

  • Accurate
  • Easy to understand
  • Well-written

Cons

  • Not comprehensive enough

Best Uses

  • Intermediate

Comments about oreilly Advanced Perl Programming:

Good Start but Not suitable for beginners

(1 of 1 customers found this review helpful)

 
3.0

Frustrating examples

By Anonymous

from Undisclosed

Comments about oreilly Advanced Perl Programming:

I'm not far into the book, and make no mistake, I AM learning. I'd like to give the book 5 stars for content and 0 for the examples. I had to settle for an average of three.

Having subroutines presented without the calling syntax has made things much more difficult for me than I think they need to be. For example, see the matrix manipulation functions in Chapter 2.

To make matters worse, these examples aren't in the downloadable code examples.

 
4.0

Advanced Perl Programming Review

By Michal

from Undisclosed

Comments about oreilly Advanced Perl Programming:

Nice book.

It takes the time and effort to de-mistify many troublesome spots. It integrates details from different scripting and system languages to give a very well rounded overview of state of the art. It covers

a miriad of topics, all of which add to the value of the book.

michael at favourite links.com

 
5.0

Advanced Perl Programming Review

By Anonymous

from Undisclosed

Comments about oreilly Advanced Perl Programming:

At first - its very good readeble and clear! It gives you necessary background for dealing with networks, databases, and GUIs, which is important for me. But if you are not much perl experienced than its not for you:-(

Kate Lea

 
2.0

Advanced Perl Programming Review

By Richard Reppert

from Undisclosed

Comments about oreilly Advanced Perl Programming:

I would have to agree that the lack of functional examples does cloud the quality of this book. The text is good, but not having functional examples leaves the complication of whether we should do what the text say or what the example does.

Now I am the first to admit that errors occur. That is what code downloads and errata are supposed to fix. Not only does the code download from www.oreily.com not fix some problems, but does not even include all of the examples present in the book.

As a learning book where you are going to read all the details, the book is good. As a "quck grab it" reference this book fails because of the errors.

 
5.0

Advanced Perl Programming Review

By Henning Petersen

from Undisclosed

Comments about oreilly Advanced Perl Programming:

A very good computer book! Notice: you don't have to read 5 chapters about 'the if-then', 'the for-next' and such stuff that normally is a drag if you ever touched a computer before.

 
2.0

Advanced Perl Programming Review

By Anonymous Coward

from Undisclosed

Comments about oreilly Advanced Perl Programming:

Watch out for the Networking: Implementing RPC chapter! There are myriad errors in the code examples. Why doesn't someone review the code, and perhaps actually try to run it?

For example:

The peer demonstration (between two RPC servers) just won't work. Besides the fact that the code has a typo (new_rpc_server instead of new_server, mentioned in the errata), they each create a listening socket, supposedly to each opposite machine. That *won't* work. Even if they created a listening socket on their respective hosts, they wouldn't know who to contact for the TCP connection. The lower-level Msg library doesn't facilitate a server sending messages to some arbitrary client (as the RPC example implies).

Someone should *really* sit and go through the code.

Want another more explicit example:

BEGIN EXCERPT

sub rpc {

my $conn = shift;

my $subname = shift;

$subname = (caller() . '::' . $subname) unless $subname =~ /:/;

my $gimme = wantarray ? 'a' : 's'; # Array or scalar

my $msg_id = ++$g_msg_id;

my $serialized_msg = freeze ('>', $msg_id, $gimme, @_);

END EXCERPT

Notice that he shifts subname off the param list? Then proceeds to build the $serialized_msg with only the @_ params (NOT INCLUDING THE SUBNAME).

This is quite disasterous when the recevier gets here:

BEGIN EXCERPT

my $instant = thaw($msg);

my ($dir, $id, @args) = @$instant;

my ($result, @results);

if ($dir eq '>') {

# New request message

my $gimme = shift @args;

my $sub_name = shift @args;

try {

no strict 'refs'; # Because we call the subroutine using

# a symbolic reference

if ($gimme eq 'a') { # Want an array back

@results = &{$sub_name} (@args);

} else {

$result = &{$sub_name} (@args);

}

END EXCERPT

Notice again that he tries to shift the subname off the thaw'd @args array... Won't work, will it?!

I knew this already but for your knowledge - Don't trust ANYONE else's code. You'll pay for it with a significant loss of time.

Displaying reviews 1-7

Back to top

 
Buy 2 Get 1 Free Free Shipping Guarantee
Buying Options
Immediate Access - Go Digital what's this?