书籍详情

Intermediate Perl(影印版)

Intermediate Perl(影印版)

作者:(美)施瓦茨,(美)福格,(美)菲尼克斯 著

出版社:东南大学出版社

出版时间:2008-08-01

ISBN:9787564112356

定价:¥48.00

购买这本书可以去
内容简介
  从一个Perl爱好者到一个Perl程序员。《Intermediate Perl》将教您如何把Perl作为编程语言来使用,而不仅只是作为一种脚本语言。Perl是一种灵活多变、功能强大的编程语言,可以应用在从系统管理到网络编程再到数据库操作等很多方面。人们常说Perl让容易的事情变简单、让困难的事情变得可行。《Intermediate Perl》正是关于如何将技能从处理简单任务跃升到胜任困难任务的书籍。《Intermediate Perl》提供对Perl中级编程优雅而仔细的介绍。由畅销的《学习Perl》作者所著,本书提供了《学习Perl》没有涵盖的内容。主题包括:包和命名空间引用和作用域操作复杂数据结构面向对象编程编写和使用模块测试Perl代码为CPAN贡献代码参照《学习Perl》的成功编排格式,本书的每一章都短小到可以在一到两个小时内读完,并在结束时提供一系列练习题帮助您实践刚刚学到的知识。使用本书,您只需熟悉《学习Perl》的内容并有更进一步学习的决心。对于不同的人而言Perl是一种不同的语言。对于某些人而言,它只是快速编写脚本的工具,但对于另外的人来说,它就是一种功能完整的面向对象语言。Perl被应用在各种任务当中,从对文本文件进行快速全局替换,到计算需要数星期才能完成处理的海量复杂科学数据。您的使用决定Perl的面貌。但不论您将Perl应用在什么方面,本书将帮助您让应用更加有效、高效和优雅。《Intermediate Perl》是为了把Perl作为一种编程语言来学习,而不仅是为了写脚本而著。这本书把Perl爱好者变为Perl程序员。
作者简介
暂缺《Intermediate Perl(影印版)》作者简介
目录
Foreword . xiii
Preface xv
1. Introduction 1
What Should You Know Already? 2
What About All Those Footnotes? 2
What’s with the Exercises? 2
What If I’m a Perl Course Instructor? 3
2. Intermediate Foundations 4
List Operators 4
Trapping Errors with eval 8
Dynamic Code with eval 9
Exercises 10
3. Using Modules 11
The Standard Distribution 11
Using Modules 12
Functional Interfaces 12
Selecting What to Import 13
Object-Oriented Interfaces 14
A More Typical Object-Oriented Module: Math::BigInt 15
The Comprehensive Perl Archive Network 15
Installing Modules from CPAN 16
Setting the Path at the Right Time 17
Exercises 19
4. Introduction to References 21
Performing the Same Task on Many Arrays 21
Taking a Reference to an Array 23
Dereferencing the Array Reference 24
Getting Our Braces Off 26
Modifying the Array 26
Nested Data Structures 27
Simplifying Nested Element References with Arrows 29
References to Hashes 30
Exercises 32
5. References and Scoping34
More Than One Reference to Data 34
What If That Was the Name? 35
Reference Counting and Nested Data Structures 36
When Reference Counting Goes Bad 38
Creating an Anonymous Array Directly 40
Creating an Anonymous Hash 42
Autovivification 44
Autovivification and Hashes 47
Exercises 48
6. Manipulating Complex Data Structures 50
Using the Debugger to View Complex Data 50
Viewing Complex Data with Data::Dumper 54
YAML 56
Storing Complex Data with Storable 57
Using the map and grep Operators 59
Applying a Bit of Indirection 59
Selecting and Altering Complex Data 60
Exercises 62
7. Subroutine References63
Referencing a Named Subroutine 63
Anonymous Subroutines 68
Callbacks 70
Closures 70
Returning a Subroutine from a Subroutine 72
Closure Variables as Inputs 75
Closure Variables as Static Local Variables 75
Exercise 77
8. Filehandle References. 79
The Old Way 79
The Improved Way 80
The Even Better Way 81
IO::Handle 82
Directory Handle References 86
Exercises 87
9. Practical Reference Tricks 89
Review of Sorting 89
Sorting with Indices 91
Sorting Efficiently 92
The Schwartzian Multi-Level Sort with the Recursively Defined ata 95
Building Recursively Defined Data 96
Displaying Recursively Defined Data 98
Exercises 99
10. Building Larger Programs 101
The Cure for the Common Code 101
Inserting Code with eval 102
Using do 103
Using require 105
require and @INC 106
The Problem of Namespace Collisions 109
Packages as Namespace Separators 110
Scope of a Package Directive 112
Packages and Lexicals 113
Exercises 113
11. Introduction to Objects115
If We Could Talk to the Animals... 115
Introducing the Method Invocation Arrow 117
The Extra Parameter of Method Invocation 118
Calling a Second Method to Simplify Things 119
A Few Notes About @ISA 120
Overriding the Methods 121
Starting the Search from a Different Place 123
The SUPER Way of Doing Things 124
What to Do with @_ 124
Where We Are So Far... 124
Exercises 125
12. Objects with Data 126
A Horse Is a Horse, of Course of Course—or Is It? 126
Invoking an Instance Method 127
Accessing the Instance Data 128
How to Build a Horse 128
Inheriting the Constructor 129
Making a Method Work with Either Classes or Instances ..130
Adding Parameters to a Method 131
More Interesting Instances 132
A Horse of a Different Color 133
Getting Our Deposit Back 133
Don’t Look Inside the Box 135
Faster Getters and Setters 136
Getters That Double as Setters 136
Restricting a Method to Class-Only or Instance-Only 137
Exercise 137
13. Object Destruction 139
Cleaning Up After Yourself 139
Nested Object Destruction 141
Beating a Dead Horse 144
Indirect Object Notation 145
Additional Instance Variables in Subclasses 147
Using Class Variables 149
Weakening the Argument 150
Exercise 152
14. Some Advanced Object Topics 154
UNIVERSAL Methods 154
Testing Our Objects for Good Behavior 155
AUTOLOAD as a Last Resort 156
Using AUTOLOAD for Accessors 157
Creating Getters and Setters More Easily 158
Multiple Inheritance 160
Exercises 161
15. Exporter 162
What use Is Doing 162
Importing with Exporter 163
@EXPORT and @EXPORT_OK 164
%EXPORT_TAGS 165
xporting in a Primarily OO Module 166
Custom Import Routines 168
Exercises 169
16. Writing a Distribution171
There’s More Than One Way To Do It 172
Using h2xs 173
Embedded Documentation 179
Controlling the Distribution with Makefile.PL 183
Alternate Installation Locations (PREFIX=...) 184
Trivial make test 185
Trivial make install 186
Trivial make dist 186
Using the Alternate Library Location 187
Exercise 188
17. Essential Testing 189
More Tests Mean Better Code 189
A Simple Test Script 190
The Art of Testing 191
The Test Harness 193
Writing Tests with Test::More 195
Testing Object-Oriented Features 197
A Testing To-Do List 199
Skipping Tests 200
More Complex Tests (Multiple Test Scripts) 201
Exercise 201
18. Advanced Testing . 203
Testing Large Strings 203
Testing Files 204
Testing STDOUT or STDERR 205
Using Mock Objects 208
Testing POD 209
Coverage Testing 210
Writing Your Own Test::* Modules 211
Exercises 214
19. Contributing to CPAN. 216
The Comprehensive Perl Archive Network 216
Getting Prepared 216
Preparing Your Distribution 217
Uploading Your Distribution 218
Announcing the Module 219
Testing on Multiple Platforms 219
Consider Writing an Article or Giving a Talk 220
Exercise 220
Appendix: Answers to Exercises 221
Index ... 249
猜您喜欢

读书导航