Learning to Program in Perl

Learning to Program in Perl

<p><strong>Learning to Program in Perl </strong></p><p>by Graham J Ellis </p><p>Languages of the Web </p><p><strong>Learning to Program in Perl&nbsp;</strong><sup style="top: 0em;">version 1.7 </sup></p><p>Written by Graham Ellis <a href="mailto:[email protected]" target="_blank"><em>[email protected] </em></a></p><p>Design by Lisa Ellis Well House Consultants, Ltd. 404, The Spa, Melksham, Wiltshire SN12 6QL England </p><p>+44 (0) 1225 708 225 (phone) +44 (0) 1225 707 126 (fax) </p><p>Find us on the World Wide Web at: <a href="/goto?url=http://www.wellho.net" target="_blank"><em>http://www.wellho.net </em></a></p><p>Or contact us at: <a href="mailto:[email protected]" target="_blank"><em>[email protected] </em></a></p><p>Copyright © 2003 by Well House Consultants, Ltd. Printed in Great Britain. </p><p><strong>Printing History </strong></p><p></p><ul style="display: flex;"><li style="flex:1">May 1999 </li><li style="flex:1">1.0 </li></ul><p>1.1 1.2 1.3 1.4 <br>First Edition <br>February 2000 June 2000 <br>Minor additions Compliation of modules Name change, revisions Added modules Added modules Updated modules Updated modules <br>October 2000 April 2002 September 2002&nbsp;1.5 January 2003 February 2003 <br>1.6 1.7 <br>This manual was printed on 21 May 2003. </p><p><strong>Notice of Rights </strong></p><p>All rights reserved. No part of this manual, including interior design, may be reproduced or translated into any language in any form, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without prior written permission of Well House Consultants except in the case of brief quotations embodied in critical articles and reviews. For more information on getting permission for reprints and excerpts, contact Graham Ellis at Well House Consultants. </p><p>This manual is subject to the condition that it shall not, by way of trade or otherwise, be lent, sold, hired out or otherwise circulated without the publisher's prior consent, incomplete nor in any form of binding or cover other than in which it is published and without a similar condition including this condition being imposed on the subsequent receiver. </p><p><strong>Notice of Liability </strong></p><p>All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. Well House Consultants is not associated with any product or vendor in this book and where such designations appear in this book, and Well House Consultants was aware of a trademark claim, the designations have been appropriately capitalised. Well House Consultants cannot attest to the accuracy of this information and use of a term should not be regarded as affecting the validity of any trademark or service mark. </p><p>The information in this book is distributed on an "as is" basis, without warranty. Whilst every precaution has been taken in the preparation of this manual, neither the author nor Well House Consultants assumes responsibility for errors or omissions, nor shall be liable to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the instructions contained in this book or by the computer software and hardware products described herein. </p><p><strong>Table of Contents </strong></p><p><strong>1 Introduction&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;9 </strong></p><p>1.1 What&nbsp;is Perl?&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;9 1.2 Perl&nbsp;Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;11 1.3 Perl&nbsp;Versions .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;11 1.4 Examples&nbsp;of Perl in use . . . . . . . . . . . . . . . . . . . .&nbsp;15 </p><p><strong>2 Hello&nbsp;Perl World. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;17 </strong></p><p>2.1 Let's&nbsp;study a first program. . . . . . . . . . . . . . . . . . .&nbsp;17 2.2 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;21 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 22 </em></p><p><strong>3 Variables&nbsp;and Operations . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;23 </strong></p><p>3.1 Reading&nbsp;from the user&nbsp;. . . . . . . . . . . . . . . . . . . . .&nbsp;23 3.2 More&nbsp;about variables&nbsp;. . . . . . . . . . . . . . . . . . . . . .&nbsp;24 3.3 How&nbsp;do I do calculations?. . . . . . . . . . . . . . . . . . .&nbsp;27 3.4 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;29 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 30 </em></p><p><strong>4 Perl&nbsp;Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;31 </strong></p><p>4.1 First&nbsp;Perl program. . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;31 4.2 Comments&nbsp;and documentation. . . . . . . . . . . . . . .&nbsp;32 4.3 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;38 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 38 </em></p><p>4.4 Reading&nbsp;data .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;39 4.5 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;42 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 42 </em></p><p><strong>5 More&nbsp;about the Perl Environment&nbsp;. . . . . . . . . . . . . . . . .&nbsp;43 </strong></p><p>5.1 Integrating&nbsp;your program with your computer. . . .&nbsp;43 5.2 Unix&nbsp;and Linux systems . . . . . . . . . . . . . . . . . . . .&nbsp;43 5.3 Windows&nbsp;98, 2000 and Windows NT systems . . .&nbsp;45 5.4 MS-DOS&nbsp;users . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;47 5.5 Macintosh&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;47 5.6 The&nbsp;compiler and the interpreter. . . . . . . . . . . . . .&nbsp;47 5.7 Some&nbsp;questions on compilers and interpreters&nbsp;. .&nbsp;48 5.8 Debugging&nbsp;tools . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;49 5.9 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;51 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 52 </em></p><p><strong>6 Conditionals&nbsp;and Loops . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;53 </strong></p><p>6.1 The&nbsp;"if" statement . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;53 6.2 The&nbsp;"while" statement. . . . . . . . . . . . . . . . . . . . . .&nbsp;54 6.3 Shorthand&nbsp;operators. . . . . . . . . . . . . . . . . . . . . . .&nbsp;56 6.4 Ways&nbsp;of writing numbers&nbsp;. . . . . . . . . . . . . . . . . . .&nbsp;59 6.5 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;59 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 60 </em></p><p></p><ul style="display: flex;"><li style="flex:1">Learning to Program in Perl </li><li style="flex:1">3</li></ul><p>Contents </p><p><strong>7 Analysing&nbsp;a Programming Task. . . . . . . . . . . . . . . . . . .&nbsp;61 </strong></p><p>7.1 A&nbsp;small job&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;61 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 67 </em></p><p>7.2 As&nbsp;a job gets larger. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;67 7.3 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;71 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 72 </em></p><p><strong>8 Initial&nbsp;String Handling . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;73 </strong></p><p>8.1 String&nbsp;handling functions&nbsp;. . . . . . . . . . . . . . . . . . .&nbsp;73 8.2 String&nbsp;handling operators . . . . . . . . . . . . . . . . . . .&nbsp;74 8.3 Comparing&nbsp;strings exactly&nbsp;. . . . . . . . . . . . . . . . . .&nbsp;76 8.4 Comparing&nbsp;strings to regular expressions&nbsp;. . . . . .&nbsp;77 8.5 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;83 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 84 </em></p><p><strong>9 More&nbsp;Loops and Conditionals&nbsp;. . . . . . . . . . . . . . . . . . . .&nbsp;85 </strong></p><p>9.1 The&nbsp;variety that is Perl . . . . . . . . . . . . . . . . . . . . .&nbsp;85 9.2 More&nbsp;conditional statements. . . . . . . . . . . . . . . . .&nbsp;85 9.3 More&nbsp;loop statements . . . . . . . . . . . . . . . . . . . . . .&nbsp;89 9.4 Breaking&nbsp;a loop. . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;90 9.5 Labels&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;91 9.6 The&nbsp;goto statement. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;92 9.7 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;93 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 94 </em></p><p><strong>10 File&nbsp;Handling .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;95 </strong></p><p>10.1 File&nbsp;input and output . . . . . . . . . . . . . . . . . . . . . . .&nbsp;95 10.2 File&nbsp;testing .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;99 10.3 Formatted&nbsp;printing. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;100 10.4 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;103 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 104 </em></p><p><strong>11 Lists .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;105 </strong></p><p>11.1 Basics&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;105 11.2 The&nbsp;length of a list&nbsp;. . . . . . . . . . . . . . . . . . . . . . .&nbsp;107 11.3 Context&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;108 11.4 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;110 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 111 </em></p><p>11.5 Functions&nbsp;that operate on lists . . . . . . . . . . . . . .&nbsp;112 11.6 Iterating&nbsp;through a list . . . . . . . . . . . . . . . . . . . . .&nbsp;114 11.7 List&nbsp;slices .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;116 11.8 Anonymous&nbsp;lists . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;117 11.9 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;117 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 118 </em></p><p><strong>12 Subroutines&nbsp;in Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;119 </strong></p><p>12.1 What&nbsp;are subroutines and why? . . . . . . . . . . . . .&nbsp;119 12.2 Calling&nbsp;a subroutine . . . . . . . . . . . . . . . . . . . . . .&nbsp;121 12.3 Writing&nbsp;your own subroutine . . . . . . . . . . . . . . . .&nbsp;123 12.4 Writing&nbsp;subroutines in a separate file . . . . . . . . .&nbsp;125 12.5 Scope&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;127 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 130 </em></p><p>12.6 packages&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;131 12.7 Calling&nbsp;objects .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;134 </p><p></p><ul style="display: flex;"><li style="flex:1">4</li><li style="flex:1">Well House Consultants </li></ul><p>Contents </p><p>12.8 Writing&nbsp;a class – an introduction. . . . . . . . . . . . .&nbsp;136 </p><p><strong>13 Special&nbsp;Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;137 </strong></p><p>13.1 The&nbsp;Command line . . . . . . . . . . . . . . . . . . . . . . .&nbsp;137 13.2 Information&nbsp;variables .&nbsp;. . . . . . . . . . . . . . . . . . . .&nbsp;138 13.3 Behaviour&nbsp;changing variables. . . . . . . . . . . . . . .&nbsp;139 13.4 The&nbsp;default input and pattern match space&nbsp;. . . .&nbsp;141 13.5 More&nbsp;options on Perl's command line. . . . . . . . .&nbsp;143 13.6 Others.&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;143 13.7 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;144 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 144 </em></p><p><strong>14 Hashes .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;145 </strong></p><p>14.1 Setting&nbsp;up a hash . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;145 14.2 Accessing&nbsp;a hash . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;146 14.3 Processing&nbsp;every element of a hash. . . . . . . . . .&nbsp;147 14.4 Ordering&nbsp;a hash (sorting) . . . . . . . . . . . . . . . . . .&nbsp;149 14.5 Programming&nbsp;techniques . . . . . . . . . . . . . . . . . .&nbsp;153 14.6 Special&nbsp;hashes . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;156 14.7 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;159 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 160 </em></p><p><strong>15 More&nbsp;on Character Strings . . . . . . . . . . . . . . . . . . . . . .&nbsp;161 </strong></p><p>15.1 Summary&nbsp;to date&nbsp;. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;161 15.2 Extracting&nbsp;information from a match. . . . . . . . . .&nbsp;162 15.3 More&nbsp;about regular expressions . . . . . . . . . . . . .&nbsp;164 15.4 Match&nbsp;modifiers .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;166 15.5 Alternative&nbsp;delimiters .&nbsp;. . . . . . . . . . . . . . . . . . . .&nbsp;168 15.6 Some&nbsp;favourite regular expressions . . . . . . . . . .&nbsp;168 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 172 </em></p><p>15.7 Substitutions&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;173 15.8 Regular&nbsp;expression efficiency. . . . . . . . . . . . . . .&nbsp;175 15.9 tr&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;176 15.10 Handling&nbsp;binary text . . . . . . . . . . . . . . . . . . . . . .&nbsp;176 15.11 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;178 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 180 </em></p><p><strong>16 HTML&nbsp;– Quick Reminder . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;181 </strong></p><p>16.1 Tags&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;181 16.2 Structure&nbsp;of a page . . . . . . . . . . . . . . . . . . . . . . .&nbsp;181 16.3 Special&nbsp;Characters and new lines&nbsp;. . . . . . . . . . .&nbsp;181 16.4 Some&nbsp;common tags . . . . . . . . . . . . . . . . . . . . . .&nbsp;182 16.5 Lists,&nbsp;Tables, Frames, Forms, Images etc . . . . .&nbsp;183 16.6 Which&nbsp;HTML standard? . . . . . . . . . . . . . . . . . . .&nbsp;184 </p><p><strong>17 Perl&nbsp;on the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;185 </strong></p><p>17.1 The&nbsp;HTML form. . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;185 17.2 Inputs&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;186 17.3 Outputs&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;186 17.4 All&nbsp;together!. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;187 17.5 The&nbsp;power of using Perl on the Web&nbsp;. . . . . . . . .&nbsp;188 17.6 A&nbsp;real example of Perl on the Web. . . . . . . . . . .&nbsp;188 17.7 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;195 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 196 </em></p><p></p><ul style="display: flex;"><li style="flex:1">Learning to Program in Perll </li><li style="flex:1">5</li></ul><p>Contents </p><p><strong>18 System&nbsp;Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;197 </strong></p><p>18.1 The&nbsp;Philosophy. . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;197 18.2 Shell&nbsp;access . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;198 18.3 System&nbsp;database enquiries&nbsp;. . . . . . . . . . . . . . . .&nbsp;200 18.4 How&nbsp;Perl helps on crossplatform requirements .&nbsp;201 18.5 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;204 </p><p><strong>19 More&nbsp;than Simple Lists and Hashes!. . . . . . . . . . . . . .&nbsp;205 </strong></p><p>19.1 Multidimensional&nbsp;arrays . . . . . . . . . . . . . . . . . . .&nbsp;205 19.2 Something&nbsp;more complex. . . . . . . . . . . . . . . . . .&nbsp;207 19.3 Grouping&nbsp;in Perl . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;209 19.4 Interpreting&nbsp;a complex reference to a variable . .&nbsp;210 19.5 Design&nbsp;MATTERS .&nbsp;. . . . . . . . . . . . . . . . . . . . . .&nbsp;211 19.6 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;211 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 212 </em></p><p><strong>20 Handling&nbsp;Dates and Time . . . . . . . . . . . . . . . . . . . . . . .&nbsp;213 </strong></p><p>20.1 So&nbsp;far .&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;213 20.2 How&nbsp;Perl handles dates and times . . . . . . . . . . .&nbsp;214 20.3 Convertors&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;215 20.4 Handling&nbsp;centuries . . . . . . . . . . . . . . . . . . . . . . .&nbsp;217 20.5 Elapsed&nbsp;time sleep . . . . . . . . . . . . . . . . . . . . . . .&nbsp;217 20.6 Summary&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;219 </p><p><em>Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . &nbsp; 220 </em></p><p><strong>21 Practical&nbsp;Example – Perl in use . . . . . . . . . . . . . . . . . .&nbsp;221 </strong></p><p>21.1 The&nbsp;requirement . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;221 21.2 Plain&nbsp;Old Documentation (POD). . . . . . . . . . . . .&nbsp;231 21.3 Possible&nbsp;enhancements . . . . . . . . . . . . . . . . . . .&nbsp;231 </p><p><strong>22 Libraries&nbsp;and Resources. . . . . . . . . . . . . . . . . . . . . . . .&nbsp;233 </strong></p><p>22.1 Standard&nbsp;Perl modules . . . . . . . . . . . . . . . . . . . .&nbsp;233 22.2 The&nbsp;CPAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;236 22.3 Utility&nbsp;programs. . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;237 22.4 Documentation&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;238 22.5 Web&nbsp;resources . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;239 22.6 Newsgroups&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;239 22.7 Chat&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;241 22.8 Books&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;242 22.9 Meeting&nbsp;users, getting local support and training&nbsp;242 </p><p><strong>23 Perl&nbsp;6 Look Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;243 </strong></p><p>23.1 Objects&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;243 23.2 Operators&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;244 23.3 Data&nbsp;Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;246 23.4 Bindings&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;246 23.5 Conditionals&nbsp;and loops . . . . . . . . . . . . . . . . . . . .&nbsp;248 23.6 Exception&nbsp;handling . . . . . . . . . . . . . . . . . . . . . . .&nbsp;250 23.7 Rules&nbsp;and grammar&nbsp;. . . . . . . . . . . . . . . . . . . . . .&nbsp;251 23.8 Under&nbsp;the bonnet . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;253 23.9 Conclusion&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;254 </p><p><strong>24 A&nbsp;Quick Look Ahead . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;255 </strong></p><p>24.1 Fundamental&nbsp;and advanced topics. . . . . . . . . . .&nbsp;255 </p><p></p><ul style="display: flex;"><li style="flex:1">6</li><li style="flex:1">Well House Consultants </li></ul><p>Contents </p><p>24.2 Other&nbsp;facilities in the Perl language . . . . . . . . . .&nbsp;256 24.3 Other&nbsp;facilities in Perl – further modules. . . . . . .&nbsp;260 24.4 Perl&nbsp;in other guises. . . . . . . . . . . . . . . . . . . . . . .&nbsp;263 24.5 And&nbsp;also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;264 </p><p><strong>Appendix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;265 </strong></p><p>Exercise sample answers&nbsp;. . . . . . . . . . . . . . . . .&nbsp;265 CPAN sites&nbsp;. . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;271 Common Errors in Perl&nbsp;. . . . . . . . . . . . . . . . . . .&nbsp;273 </p><p><strong>WHC Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;275 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&nbsp;281 </strong></p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    286 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us