📄 ch00_04.htm
字号:
<html><head><title>History of This Book (Learning Perl, 3rd Edition)</title><link rel="stylesheet" type="text/css" href="../style/style1.css" /><meta name="DC.Creator" content="Randal L. Schwartz and Tom Phoenix" /><meta name="DC.Format" content="text/xml" scheme="MIME" /><meta name="DC.Language" content="en-US" /><meta name="DC.Publisher" content="O'Reilly & Associates, Inc." /><meta name="DC.Source" scheme="ISBN" content="0596001320L" /><meta name="DC.Subject.Keyword" content="stuff" /><meta name="DC.Title" content="Learning Perl, 3rd Edition" /><meta name="DC.Type" content="Text.Monograph" /></head><body bgcolor="#ffffff"><img alt="Book Home" border="0" src="gifs/smbanner.gif" usemap="#banner-map" /><map name="banner-map"><area shape="rect" coords="1,-2,616,66" href="index.htm" alt="Learning Perl, 3rd Edition" /><area shape="rect" coords="629,-11,726,25" href="jobjects/fsearch.htm" alt="Search this book" /></map><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch00_03.htm"><img alt="Previous" border="0" src="../gifs/txtpreva.gif" /></a></td><td align="center" valign="top" width="228"><a href="index.htm"></a></td><td align="right" valign="top" width="228"><a href="ch00_05.htm"><img alt="Next" border="0" src="../gifs/txtnexta.gif" /></a></td></tr></table></div><h2 class="sect1">0.4. History of This Book</h2><p>For the curious, here's how Randal tells the story of how thisbook came about:</p><p>After I had finished the first <em class="citetitle">ProgrammingPerl</em> book with Larry <a name="INDEX-3" />Wall (in 1991), I was approached by TaosMountain Software in Silicon Valley to produce a training course.This included having me deliver the first dozen or so courses andtrain their staff to continue offering the course. I wrote the coursefor them<a href="#FOOTNOTE-1">[1]</a> and delivered it for them as promised.</p><blockquote class="footnote"> <a name="FOOTNOTE-1" /><p>[1]In the contract, I retained the rights tothe exercises, hoping someday to reuse them in some other way, likein the magazine columns I was writing at the time. The exercises arethe only things that lept from the Taos course to the book.</p></blockquote><p>On the third or fourth delivery of that course (in late 1991),someone came up to me and said, "you know, I really like<em class="citetitle">Programming Perl</em>, but the way the material ispresented in this course is so much easier to follow -- you oughtawrite a book like this course." It sounded like an opportunityto me, so I started thinking about it.</p><p>I wrote to Tim O'Reilly with a proposal based on an outlinethat was similar to the course I was presenting forTaos -- although I had rearranged and modified a few of thechapters based on observations in the classroom. I think that was myfastest proposal acceptance in history -- I got a message from Timwithin fifteen minutes saying "we've been waiting for youto pitch a second book -- <em class="citetitle">Programming Perl</em>is selling like gangbusters." That started the effort over thenext eighteen months to finish the first edition of<em class="citetitle">Learning Perl</em>.</p><p>During that time, I was starting to see an opportunity to teach Perlclasses outside Silicon Valley<a href="#FOOTNOTE-2">[2]</a>, so I created a class based on the text I was writing for<em class="citetitle">Learning Perl</em>. I gave a dozen classes forvarious clients (including my primary contractor, Intel Oregon), andused the feedback to fine-tune the book draft even further.</p><blockquote class="footnote"> <a name="FOOTNOTE-2" /><p>[2]My Taos contract had ano-compete clause, so I had to stay out of Silicon Valley with anysimilar courses, which I respected for many years.</p></blockquote><p>The first edition hit the streets on the first day of November,1993<a href="#FOOTNOTE-3">[3]</a> and became a smashing success, frequentlyeven outpacing <em class="citetitle">Programming Perl</em> book sales.</p><blockquote class="footnote"> <a name="FOOTNOTE-3" /><p>[3]I remember that date very well, because it wasalso the day I was arrested at my home forcomputer-related-activities around my Intel contract, a series offelony charges for which I was later convicted. The appeals battlecontinues -- see <a href="http://www.lightlink.com/fors/">http://www.lightlink.com/fors/</a>fordetails.</p> </blockquote><p>The back-cover jacket of the first book said "written by aleading Perl trainer." Well, that became a self-fulfillingprophesy. Within a few months, I was starting to get email from allover the United States from people asking to have me teach at theirsite. In the following seven years, my company became the leadingworldwide on-site Perl training company, and I had personally rackedup (literally) a million frequent-flier miles. It didn't hurtthat the Web started taking off about then, and the webmasters andwebmistresses picked Perl as the language of choice for contentmanagement, interaction through CGI, and maintenance.</p><p>For the past two years, I've been working closely with TomPhoenix in his role as lead trainer and content manager forStonehenge, giving him charter to experiment with the"Llama" course by moving things around and breakingthings up. When we had come up with what we thought was the bestmajor revision of the course, I contacted O'Reilly and said"it's time for a new book!" And now you'rereading it.</p><p>Some of the differences you may notice from prior editions:</p><ul><li><p>The text is completely new. Rather than simply copy-and-paste fromprevious editions, we have derived the text from our Stonehenge"Learning Perl" courseware and the instructor noteswe've created and road-tested. (Some of the exercises aresimilar to the originals simply because we were using the prioreditions as our textbook until recently. But even those have mutatedduring the rewrites.)</p></li><li><p>We've broken the hard-to-swallow-all-at-once regularexpressions section into three easily digestible sections.</p></li><li><p>We've created exercises with both Unix and Windows in mind.</p></li><li><p>We got rid of the artificial "control structures"chapter, moving the <tt class="literal">while</tt> and<tt class="literal">if</tt> statement earlier, and the<tt class="literal">foreach</tt> and <tt class="literal">for</tt> loops later.This gives us more useful examples and exercises for the scalarschapter, for example.</p></li><li><p>We moved subroutines much earlier to permit subsequent exercises touse subroutines for the questions and answers.</p></li><li><p>We now teach element syntax before the aggregate syntax for botharrays and hashes. This has worked a bit of a miracle in theclassrooms, since it nearly always keeps beginners from theall-too-common mistake of writing a slice where they mean an element.At the risk of hubris, we'll admit that we expect other Perlinstructors and books to follow our lead here.</p></li><li><p>The exercises are more real-world and better paced.</p></li><li><p>We've included information on <tt class="literal">use strict</tt>,warnings, and modules, although mostly as pointers for furtherinformation.</p></li><li><p>We've made the book much less addressed to the Unix systemadministrator, and much more to the general programmer. The phrase"like C" has been nearly completely eliminated.</p></li><li><p>The jokes are better. (We're constantly improvising jokes inthe classroom, and some of these end up as part of the standardStonehenge script. The best of <em class="emphasis">those</em> ended uphere. You should see what didn't make the cut!)</p></li><li><p>We deeply regret that this edition lacks the wonderfully wittyForeword, written by Larry Wall, who was busy defining Perl 6 as wewent to press. Larry is always supportive of our efforts, and we knowthat he's still part of the book in spirit, if not in word, towish you the best as you start your holiday in the lustrous land ofPerl.</p></li></ul><hr width="684" align="left" /><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch00_03.htm"><img alt="Previous" border="0" src="../gifs/txtpreva.gif" /></a></td><td align="center" valign="top" width="228"><a href="index.htm"><img alt="Home" border="0" src="../gifs/txthome.gif" /></a></td><td align="right" valign="top" width="228"><a href="ch00_05.htm"><img alt="Next" border="0" src="../gifs/txtnexta.gif" /></a></td></tr><tr><td align="left" valign="top" width="228">0.3. Code Examples</td><td align="center" valign="top" width="228"><a href="index/index.htm"><img alt="Book Index" border="0" src="../gifs/index.gif" /></a></td><td align="right" valign="top" width="228">0.5. Acknowledgments</td></tr></table></div><hr width="684" align="left" /><img alt="Library Navigation Links" border="0" src="../gifs/navbar.gif" usemap="#library-map" /><p><p><font size="-1"><a href="copyrght.htm">Copyright © 2002</a> O'Reilly & Associates. All rights reserved.</font></p><map name="library-map"><area shape="rect" coords="1,0,85,94" href="../index.htm"><area shape="rect" coords="86,1,178,103" href="../lwp/index.htm"><area shape="rect" coords="180,0,265,103" href="../lperl/index.htm"><area shape="rect" coords="267,0,353,105" href="../perlnut/index.htm"><area shape="rect" coords="354,1,446,115" href="../prog/index.htm"><area shape="rect" coords="448,0,526,132" href="../tk/index.htm"><area shape="rect" coords="528,1,615,119" href="../cookbook/index.htm"><area shape="rect" coords="617,0,690,135" href="../pxml/index.htm"></map></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -