Muutke küpsiste eelistusi

E-raamat: Intermediate Perl: Beyond The Basics of Learning Perl

  • Formaat: 396 pages
  • Sari: OREILLY
  • Ilmumisaeg: 26-Jul-2012
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781449343811
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 32,75 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 396 pages
  • Sari: OREILLY
  • Ilmumisaeg: 26-Jul-2012
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781449343811
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

The authors of Learning Perl present an updated roadmap for skill improvement that offers additional coverage of Perls objects, references and modules, sharing succinct, exercise-complemented chapters that address topics ranging from scoping and object-oriented programming to testing code and contributing to CPAN. Original. Get a clear roadmap for improving your skills with Intermediate Perl, and gain working knowledge of Perls objects, references, and modules—ingredients that make the language so versatile and effective. Written by the authors of the bestselling Llama book, Learning Perl, and updated for Perl 5.14, this book offers a gentle but thorough introduction to intermediate programming in Perl. Each chapter is small enough to be read in just an hour or two, ending with a series of exercises to help you practice what youve learned. If you’re familiar with the material in Learning Perl and have the ambition learn more, this book will take you much further into Perls capabilities. Topics include: Packages and namespaces References and scoping, including regular expression references Manipulating complex data structures Object-oriented programming Writing and using modules Testing Perl code Contributing to CPAN
Foreword xi
Preface xiii
1 Introduction
1(6)
What Should You Know Already?
2(1)
strict and warnings
2(1)
Perl v5.14
3(1)
A Note on Versions
4(1)
What About All Those Footnotes?
4(1)
What's With the Exercises?
4(1)
How to Get Help
5(1)
What If I'm a Perl Course Instructor?
5(1)
Exercises
6(1)
2 Using Modules
7(18)
The Standard Distribution
7(1)
Exploring CPAN
8(1)
Using Modules
9(1)
Functional Interfaces
10(1)
Selecting What to Import
11(1)
Object-Oriented Interfaces
12(1)
A More Typical Object-Oriented Module: Math::BigInt
12(1)
Fancier Output with Modules
13(1)
What's in Core?
14(1)
The Comprehensive Perl Archive Network
15(1)
Installing Modules from CPAN
16(1)
CPANminus
17(1)
Installing Modules Manually
17(1)
Setting the Path at the Right Time
18(3)
Setting the Path Outside the Program
21(1)
Extending @INC with PERL5LIB
21(1)
Extending @INC on the Command Line
22(1)
local::lib
22(1)
Exercises
23(2)
3 Intermediate Foundations
25(10)
List Operators
25(1)
List Filtering with grep
26(2)
Transforming Lists with map
28(1)
Trapping Errors with eval
29(2)
Dynamic Code with eval
31(1)
The do Block
32(1)
Exercises
33(2)
4 Introduction to References
35(18)
Doing the Same Task on Many Arrays
35(2)
PeGS: Perl Graphical Structures
37(1)
Taking a Reference to an Array
38(3)
Dereferencing the Array Reference
41(1)
Getting Our Braces Off
42(1)
Modifying the Array
43(1)
Nested Data Structures
44(1)
Simplifying Nested Element References with Arrows
45(2)
References to Hashes
47(3)
Checking Reference Types
50(2)
Exercises
52(1)
5 References and Scoping
53(18)
More than One Reference to Data
53(1)
What If That Was the Name?
54(1)
Reference Counting and Nested Data Structures
55(2)
When Reference Counting Goes Bad
57(2)
Creating an Anonymous Array Directly
59(2)
Creating an Anonymous Hash
61(2)
Autovivification
63(3)
Autovivification and Hashes
66(2)
Exercises
68(3)
6 Manipulating Complex Data Structures
71(20)
Using the Debugger to View Complex Data
71(4)
Viewing Complex Data with Data::Dumper
75(2)
Other Dumpers
77(1)
Marshalling Data
78(2)
Storing Complex Data with Storable
80(5)
YAML
85(1)
JSON
85(1)
Using the map and grep Operators
86(1)
Applying a Bit of Indirection
86(2)
Selecting and Altering Complex Data
88(2)
Exercises
90(1)
7 Subroutine References
91(24)
Referencing a Named Subroutine
91(5)
Anonymous Subroutines
96(1)
Callbacks
97(1)
Closures
98(2)
Returning a Subroutine from a Subroutine
100(3)
Closure Variables as Inputs
103(1)
Closure Variables as Static Local Variables
104(1)
state Variables
105(2)
Finding Out Who We Are
107(1)
Enchanting Subroutines
108(3)
Dumping Closures
111(1)
Exercise
112(3)
8 Filehandle References
115(14)
The Old Way
115(1)
The Improved Way
116(2)
Filehandles to Strings
118(1)
Processing Strings Line by Line
119(1)
Collections of Filehandles
120(1)
IO::Handle and Friends
121(1)
IO::File
121(1)
IO::Scalar
122(1)
IO::Tee
123(1)
IO::Pipe
124(1)
IO::Null and IO:: Interactive
125(1)
Directory Handles
126(1)
Directory Handle References
126(1)
Exercises
127(2)
9 Regular Expression References
129(12)
Before Regular Expression References
129(2)
Precompiled Patterns
131(1)
Regular Expression Options
132(1)
Applying Regex References
132(1)
Regexes as Scalars
133(3)
Build Up Regular Expressions
136(1)
Regex-Creating Modules
137(1)
Using Common Patterns
137(2)
Assembling Regular Expressions
139(1)
Exercises
140(1)
10 Practical Reference Tricks
141(18)
Fancier Sorting
141(2)
Sorting with Indices
143(1)
Sorting Efficiently
144(1)
The Schwartzian Transform
145(2)
Multilevel Sort with the Schwartzian Transform
147(1)
Recursively Defined Data
147(2)
Building Recursively Defined Data
149(3)
Displaying Recursively Defined Data
152(1)
Avoiding Recursion
153(1)
The Breadth-First Solution
154(2)
Exercises
156(3)
11 Building Larger Programs
159(14)
The Cure for the Common Code
159(1)
Inserting Code with eval
160(1)
Using do
161(2)
Using require
163(1)
The Problem of Namespace Collisions
164(1)
Packages as Namespace Separators
165(2)
Scope of a Package Directive
167(1)
Packages and Lexicals
168(1)
Package Blocks
169(1)
Exercises
170(3)
12 Creating Your Own Perl Distribution
173(18)
Perl's Two Build Systems
173(1)
Inside Makefile.PL
174(1)
Inside Build.PL
175(1)
Our First Distribution
176(1)
h2xs
176(1)
Module::Starter
177(1)
Custom Templates
178(1)
Inside Your Perl Distribution
178(2)
The META File
180(1)
Adding Additional Modules
181(1)
Inside a Module
182(2)
Plain Ol' Documentation
184(1)
Pod Command Paragraphs
185(1)
Pod Paragraphs
186(1)
Pod Formatting Codes
186(1)
Checking the Pod Format
187(1)
The Module Code
187(1)
Module Building Summary
188(1)
Creating a Module::Build Distribution
188(1)
Creating a ExtUtils::Makemaker Distribution
189(1)
Exercises
189(2)
13 Introduction to Objects
191(14)
If We Could Talk to the Animals...
191(2)
Introducing the Method Invocation Arrow
193(1)
The Extra Parameter of Method Invocation
194(1)
Calling a Second Method to Simplify Things
195(2)
A Few Notes About @ISA
197(1)
Overriding the Methods
198(2)
Starting the Search from a Different Place
200(1)
The SUPER Way of Doing Things
200(1)
What to Do with @_
201(1)
Where We Are
201(1)
Our Barnyard Summary
202(1)
Exercises
203(2)
14 Introduction to Testing
205(20)
Why Should We Test?
205(1)
The Perl Testing Process
206(1)
Test Anywhere Protocol
206(2)
The Art of Testing
208(1)
A Test Example
209(1)
The Test Harness
210(1)
The Standard Tests
211(1)
Checking that Modules Compile
212(1)
The Boilerplate Tests
213(3)
The Pod Tests
216(1)
Adding Our First Tests
217(3)
Measuring Our Test Coverage
220(1)
Subroutine Coverage
221(1)
Statement Coverage
221(1)
Branch Coverage
221(1)
Conditional Coverage
222(1)
Exercises
222(3)
15 Objects with Data
225(14)
A Horse Is a Horse, of Course of Course---Or Is It?
225(2)
Invoking an Instance Method
227(1)
Accessing the Instance Data
228(1)
How to Build a Horse
228(1)
Inheriting the Constructor
229(1)
Making a Method Work with Either Classes or Instances
230(1)
Adding Parameters to a Method
230(1)
More Interesting Instances
231(1)
A Horse of a Different Color
232(1)
Getting Our Deposit Back
233(1)
Don't Look Inside the Box
234(1)
Faster Getters and Setters
235(1)
Getters that Double as Setters
236(1)
Restricting a Method to Class Only or Instance Only
236(1)
Exercise
237(2)
16 Some Advanced Object Topics
239(10)
UNIVERSAL Methods
239(1)
Testing Our Objects for Good Behavior
240(2)
The Last Resort
242(1)
Using AUTOLOAD for Accessors
243(1)
Creating Getters and Setters More Easily
244(2)
Multiple Inheritance
246(1)
Exercises
247(2)
17 Exporter
249(8)
What use Is Doing
249(1)
Importing with Exporter
250(1)
@EXPORT and @EXPORT_OK
251(1)
Grouping with %EXPORT_TAGS
252(2)
Custom Import Routines
254(2)
Exercises
256(1)
18 Object Destruction
257(16)
Cleaning Up After Ourselves
257(2)
Nested Object Destruction
259(3)
Beating a Dead Horse
262(1)
Indirect Object Notation
263(2)
Additional Instance Variables in Subclasses
265(2)
Using Class Variables
267(1)
Weakening the Argument
268(2)
Exercise
270(3)
19 Introduction to Moose
273(12)
Making Animals with Moose
273(3)
Roles Instead of Inheritance
276(1)
Default Values
277(1)
Constraining Values
278(1)
Wrapping Methods
279(2)
Read-Only Attributes
281(1)
Improving the Race Horse
281(2)
Further Study
283(1)
Exercises
283(2)
20 Advanced Testing
285(14)
Skipping Tests
285(1)
Testing Object-Oriented Features
286(1)
Grouping Tests
287(1)
Testing Large Strings
288(1)
Testing Files
289(1)
Testing STDOUT or STDERR
290(3)
Using Mock Objects
293(1)
Writing Our Own Test::* Modules
294(3)
Exercises
297(2)
21 Contributing to CPAN
299(12)
The Comprehensive Perl Archive Network
299(1)
Getting Prepared
299(1)
How PAUSE Works
300(1)
The Indexer
301(1)
Module Maintainers
302(1)
Before We Start Work
303(1)
Preparing the Distribution
303(1)
Create or Update the README
304(1)
Check the Build File
304(1)
Update the Manifest
304(2)
Increase the Version String
306(1)
Test the Distribution
306(1)
Uploading the Distribution
307(1)
Testing on Multiple Platforms
307(1)
Announcing the Module
308(1)
Exercises
308(3)
Appendix: Answers to Exercises 311(48)
Index of Modules in this Book 359(4)
Index 363
Randal L. Schwartz is a two-decade veteran of the software industry. He is skilled in software design, system administration, security, technical writing, and training. Randal has coauthored the "must-have" standards: Programming Perl, Learning Perl, Learning Perl for Win32 Systems, and Effective Perl Learning, and is a regular columnist for WebTechniques, PerformanceComputing, SysAdmin, and Linux magazines. He is also a frequent contributor to the Perl newsgroups, and has moderated comp.lang.perl.announce since its inception. His offbeat humor and technical mastery have reached legendary proportions worldwide (but he probably started some of those legends himself). Randal's desire to give back to the Perl community inspired him to help create and provide initial funding for The Perl Institute. He is also a founding board member of the Perl Mongers (perl.org), the worldwide Perl grassroots advocacy organization. Since 1985, Randal has owned and operated Stonehenge Consulting Services, Inc. Randal can be reached for comment at merlyn@stonehenge.com or (503) 777-0095, and welcomes questions on Perl and other related topics. brian d foy has been an instructor for Stonehenge Consulting Services since 1998, a Perl user since he was a physics graduate student, and a die-hard Mac user since he first owned a computer. He founded the first Perl user group, the New York Perl Mongers, as well as the Perl advocacy nonprofit Perl Mongers, Inc., which helped form more than 200 Perl user groups across the globe. He maintains the perlfaq portions of the core Perl documentation, several modules on CPAN, and some stand-alone scripts. He's the publisher of The Perl Review, a magazine devoted to Perl, and is a frequent speaker at conferences including the Perl Conference, Perl University, MarcusEvans BioInformatics '02, and YAPC. His writings on Perl appear in The O'Reilly Network, The Perl Journal, Dr. Dobbs, and The Perl Review, on use.perl.org, and in several Perl usenet groups. Tom Phoenix has been working in the field of education since 1982. After more than thirteen years of dissections, explosions, work with interesting animals, and high-voltage sparks during his work at a science museum, he started teaching Perl classes for Stonehenge Consulting Services, where he's worked since 1996. Since then, he has traveled to many interesting locations, so you might see him soon at a Perl Mongers' meeting. When he has time, he answers questions on Usenet's comp.lang.perl.misc and comp.lang.perl.moderated newsgroups, and contributes to the development and usefulness of Perl. Besides his work with Perl, Perl hackers, and related topics, Tom spends his time on amateur cryptography and speaking Esperanto. His home is in Portland, Oregon.