Book Advanced Perl Programming 09-12-2017, 12:52 PM
#1
![[Image: 69f726902564cf47fa5ce039ed01db59.png]](https://i.gyazo.com/69f726902564cf47fa5ce039ed01db59.png)
Code:
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
1. Advanced Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Introspection 2
Messing with the Class Model 20
Unexpected Code 25
Conclusion 42
2. Parsing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Parse::RecDescent Grammars 44
Parse::Yapp 68
Other Parsing Techniques 73
Conclusion 78
3. Templating Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Formats and Text::Autoformat 80
Text::Template 84
HTML::Template 90
HTML::Mason 96
Template Toolkit 107
AxKit 114
Conclusion 116
4. Objects, Databases, and Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Beyond Flat Files 118
Object Serialization 119
Object Databases 129
vi | Table of Contents
Database Abstraction 134
Practical Uses in Web Applications 142
Conclusion 148
5. Natural Language Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Perl and Natural Languages 149
Handling English Text 150
Modules for Parsing English 154
Categorization and Extraction 159
Conclusion 171
6. Perl and Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Terminology 172
What Is Unicode? 174
Unicode Transformation Formats 176
Handling UTF-8 Data 179
Encode 184
Unicode for XS Authors 190
Conclusion 193
7. POE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Programming in an Event-Driven Environment 195
Top-Level Pieces: Components 207
Conclusion 213
8. Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Test::Simple 215
Test::More 217
Test::Harness 220
Test::Builder 222
Test::Builder::Tester 224
Keeping Tests and Code Together 225
Unit Tests 226
Conclusion 232
9. Inline Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Simple Inline::C 233
More Complex Tasks with Inline::C 237
Inline:: Everything Else 250
Conclusion 255
Table of Contents | vii
10. Fun with Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Obfuscation 256
Just Another Perl Hacker 261
Perl Golf 263
Perl Poetry 264
Acme::* 266
Conclusion 270![[Image: Vs4P58c.png]](https://i.imgur.com/Vs4P58c.png)




![[+]](https://sinister.ly/images/modern/collapse_collapsed.png)