Advanced Perl Programming

Second Edition Juli 2005
ISBN 978-0-596-00456-9
Seiten 298
EUR38.00, SFR64.90


Weitere Informationen zu diesem Buch

Inhaltsverzeichnis | Index | Probekapitel | Kolophon | Rezensionen |


Index

	
[ Symbols ], [ Numbers ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Y ], [ Z ],

Symbols[ Top ]
{ } (braces)
      escaping, 89
      evaluating code inside of, 84-86
[ ] (square brackets), 46
" " (stringification operator), 28
\ (backslash), escaping, 89
$! (special variable), 25
| (pipe) symbol, 109

Numbers[ Top ]
0+ (numification operator), 28
0+$object, 24

A[ Top ]
Abigail, 262, 265
accessors
      AUTOLOAD and, 10
      Class::Accessor:Assert module, 119
      converting methods to, 23
Acme::
      Acme::Bleach, 266-267
      Acme::Chef, 269-270
      overview of, 266-270
actions, Parse::RecDescent, 48-51
advanced techniques
      AUTOLOAD, 10-12
      globs (see globs)
      time shifting (see time shifting)
      unexpected code (see unexpected code)
Algorithm::NaiveBayes, 164
algorithms
      Algorithm::NaiveBayes, 161-164
      encoding, 174-177
      named-entity extraction, 168
      stemming words, 157
aliasing
      creating subroutines with glob assignment, 8-10
      glob assignment for, 4-5
Alzabo
      Maypole and, 147
      relational mappers, 141
ANNIE, GATE::ANNIE::Simple, 168-170
Apache
      Apache Cocoon project, 114
      testing, 231-232
Application, CGI::Application, 147
applications, Web (see Web appliations)
artificial intelligence, 149
      (see also NLP)
ASCII character set, 172
ASM, Inline::ASM, 254
attrs module, 36
autohandler, HTML::Mason and, 99
AUTOLOAD
      combining with UNIVERSAL, 23
      overview of, 10-12
automation
      automated testing, 219-220
      autostubbing, 59
      Parse::RecDescent, 57-59
AxKit, 114-116

B[ Top ]
B module, for inspecting bytecode tree, 17-19
back-references, object, 133
Balanced, Text::Balanced, 46
Bayes's theorem, 160
B::Deparse, 260-261
BEGIN blocks, 34-35
Belfast Perl Mongers, 257-258
Berkeley DB, 118
binary serialization, 123
blocks (see code blocks)
boggle, 259
bottom-up parsers
      overview of, 43
      yacc, 68
Bowden, Tony, 137, 142
braces (see {})
BROKEN subroutine, Text::Template, 88-89
built-in functions
      recoding in C vs. Perl built-in function, 12-14
      replacing with CORE and CORE::GLOBAL, 12-14
Burke, Sean, 75, 150
byte mode, data handling, 179
bytecode, inspecting, 16-19

C[ Top ]
C libraries
      DBMs and, 118
      fmtcheck function, 235
      Perl and, 233
      recoding in C vs. Perl built-in function, 235-236
      SQLite and, 135
      wrapping, 245-247
C++ overloading, 26
calculators, parsing applications, 72
caller function, HOOK::LexWrap, 14-15
can method, UNIVERSAL class, 20
CDBI (see Class::DBI)
Ceglowski, Maciej, 166
CGI::Application, 147
character code, in Unicode, 173
character encoding, in Unicode, 173
character mode, data handling, 179
character repertoire, in Unicode, 173
character set, ASCII, 172
characters, in Unicode, 173
CHECK blocks, 35-38
Chen, Francine, 164
chr, 178
class subroutine, 19
Class::Accessor::Assert module, 119
Class::DBI
      combining with Template Toolkit, 142-144
      extensions, 141
      Maypole and, 144-147
      object relational mapping with, 135, 137-141
      relationships, 139-140
      schema and classes, 119
      setting up, 137-138
      updates, 138
classes
      Test::Class, 226-229
      UNIVERSAL, 20-23
Class::PINT, 141
closures, 9-10
COBOL, 256
code
      keeping tests and code together, 225
      testing (see testing)
code blocks
      actions and, 50
      matiching portions of data stream, 47
      parsing, 60
codepoint, in Unicode, 173
<commit> directive, Parse::RecDescent, 53-54
comp method, HTML::Mason, 104
components, HTML::Mason, 96-97
components, POE
      high-level, 212-213
      medium-level, 208-210
      overview of, 207-208
components, Template Toolkit, 112-113
concatenation operator, 33
conditional statements, parsing, 54-55
conditions, HTML::Template, 90-92
Config::Auto, 78
configuration files, parsing, 77
context sensitivity, 51
Conway, Damian, 23, 36, 44, 150, 260
CORE, 12-14
CORE::GLOBAL, 12-13
CPANPLUS module, 124
CPR interpreter, Inline::CPR, 253-254
curses, POE::Wheel::Curses, 202

D[ Top ]
data
      character encodings, 184-185
      handling, 179
      iCalendar formats, 60
      matching portions of data stream, 47
      scalars compared with objects, 119
      storing in/retrieving from DBMs, 123
      structured, 82
      structured vs. other, 43
      UTF-8, 179-180
data structures
      Inline::Struct, 254
      scalars compared with objects, 119
database abstraction, 134
databases
      DBMs (see DBMs)
      object databases (see object databases)
database-side object, Tangram, 132
Data::Dumper, 121-123, 126
DB_File, 118
DBIx::SearchBuilder, 141
DBMs, 118-129
      Dumping Data, 121-123
      flat files and, 118
      multilevel, 125-127
      object databases, 129
      object serialization and, 119
      overview of, 118-119
      Pixie module, 127-129
      pruning problem, 124-125
      schema and classes, 119-121
      storing/retrieving data, 123
debugging, 14
      Inline::C, 247-249
      Parse::RecDescent, 51-53
      serialization during, 121
      TANGRAM_TRACE, 134
deleting objects, Tangram, 134
DELIMITERS option, Text::Template, 89
Désarménien, François, 68
DESTROY
      AUTOLOAD and, 10
      time shifting and, 25
document categorization
      Bayesian approach, 159-163
      keyword extraction, 166-168
      name and place extraction, 168-170
      overview of, 159
      summarization, 163-166
documentation, perlxstut, 233
Dominus, Mark-Jason, 84, 195, 260
dumping data (Data::Dumper), 121-123, 126
DWIM (do what I mean) methods, 33, 130, 217
dynamic method resolution, in class model, 23

E[ Top ]
e-mail, filtering, Mail::Audit, 64-68
Encode, 184-189
      converting data between various character encodings, 184-185
      handling Unicode data in Perl, 186-190
English
      Lingua::EN::Inflect, 150-154
      Lingua::EN::Keywords, 166-168
      Lingua::EN::NamedEntity, 168-170
      Lingua::EN::Sentence, 155
      Lingua::EN::Splitter, 155-156, 158
      Lingua::EN::StopWords, 158, 166
      Lingua::EN::Summarize, 163
      Lingua::EN::Tagger, 166
<error> directive, Parse::RecDescent, 55-56
escaping
      HTML::Mason, 102
      Text::Template, 89
eval, 34-35
event loop, 196
event-driven paradigm, 195-196
Exporter module, glob assignment and, 4-5
Extending and Embedding Perl (Manning), 233
Extensible Server Pages (XSP), 114
extension subroutines (see XS)
extensions, Class::DBI, 138
Extreme Programming (XP), 215, 226

F[ Top ]
fallback feature, of overload pragma, 28
filehandles
      formats and, 82
      POE wheels as equivalent of, 200
      UTF-8 and, 180
Filter, Tangram::Filter, 133
filters
      DBM filter facility, 125-126
      in Template Toolkit, 109
Filter::Simple, 269
Filter::Util::Call, 269
final attribute, 36
final methods, Java, 37
fmt command, Unix, 82-83, 235
format filter, Template Toolkit, 109
format STDOUT, 80-82
formats
      HTML (see HTML::Mason; HTML::Template)
      iCalendar, 60
      Perl, 80-84
      text (see Text::Template)
Franz, Benjamin, 157
FreezeThaw module, 126
fun and games
      Acme::*, 266-270
      JAPH (Just Another Perl Hacker), 262-263
      obfuscation, with Perl, 256-261
      Perl Golf, 263-265
      Perl Poetry, 264-265
functions, built-in
      C vs. Perl built-in, 12-14
      replacing with CORE and CORE::GLOBAL, 12-14
fwp (Fun With Perl), 270

G[ Top ]
game tree, for Go, 45
GATE::ANNIE::Simple, 168-170
*glob = ... (assigning references to globs), 8
GLOBAL, CORE::GLOBAL, 12-13
globs, 2-10
      accessing parts of, 5-8
      aliasing, 4-5
      finding in symbol table, 2-3
      subroutines created with, 9-10
glyphs, Unicode, 173
GNU libgdbm, 118
Go game, 44-45
golf, Perl Golf, 263-265
Graham, Tony, 174
grammar, Parse::Yapp, 69-70
Gtk, 195
GUIs, event-driven paradigm and, 195
Guttman, Uri, 263

H[ Top ]
handlers
      autohandler, 100
      filehandles, 82, 180, 200
      UTF8 data, 179-180
harness, Test::Harness, 220-221
has_a relationship, Class::DBI, 139
hash keys, globs accessed by, 8
hashdump, 97, 98
hashes
      Inline::C, 244-245
      Text::Template, 86-87
has_many relationships, Class::DBI, 139-140
Hazel, Philip, 245
Hearst, Marti, 156
Hello World examples, POE, 196-200
hexdump command, 201-202
HOOK::LexWrap, 14-16
Hopkins, Sharon, 265
HTML
      formatting (see HTML::Template)
      HTML::Parser, 73-75
      templating modules, 79
      transforming XML to, 114
HTML::LinkExtor, 75
HTML::Mason, 96-107
      adding templates to Mason pages, 97-98
      Class::Class::DBI and Template Toolkit and, 119
      compared with Template Toolkit, 107
      components, 96-97
      Maypole and, 147
      overview of, 96
      Perl logic, 98
      RSS aggregation, 98-107
HTML::Parser, 73-75
HTML::Template, 90-96
      loops, 93
      overview of, 90
      PageKit and, 147
      validation, 92
      variables and conditions, 90-92
HTML::TokeParser, 75
HTTP
      POE::Component::Client::HTTP, 212
      POE::Component::Server::HTTP, 210-212
hyphenation, 84

I[ Top ]
iCalendar, parsing, 60-64
import routine, 5
INCLUDE directive, 112-113
ined, 144
inflections, natural language tools for, 150-152
Ingerson, Brian, 233, 249
Ing-Simmons, Nick, 184
inheritance
      dynamic method resolution, 23
      final methods and, 35
      handling with package variables, 25
      in Perl OO, 20
inline extensions, 233-255
      Inline::C (see Inline::C)
      Inline::CPR, 253-254
      Inline::Python, 251-252
      Inline::Ruby, 252-253
      Inline::Struct, 254
      others, 260
      overview of, 233
Inline::ASM, 254
Inline::Basic, 254
Inline::C
      arrays, 243-244
      C vs. Perl built-in functions, 235-236
      dealing with Perl's Internal Values (scalars, and arrays), 237-241
      debugging, 247-249
      hashes, 244-245
      inline extensions, 233-235
      packaging inline modules, 249-250
      references, 243
      stack handling, 241-243
      wrapping C libraries, 245-247
Inline::CPR, 253-254
Inline::Java, 254
Inline::Python, 250-252
Inline::Ruby, 252-253
Inline_Stack_Item, 241-242
Inline::Struct, 254
I/O library, PerlIO, 186
isa method, UNIVERSAL class, 20-21
is_a relationships, Class::DBI, 140
ISO standards
      ASCII, 172
      Unicode and, 174-175
%item hash, in Parse::RecDescent, 59

J[ Top ]
(JAPH) Just Another Perl Hacker, 261-263
Java
      final methods, 35
      Inline::Java, 254
joins, multitable, 141
JPL (Java Perl Lingo), 254

K[ Top ]
kernel, POE, 196
key-values, in DBMs, 119
keyword extraction, document categorization, 166-168
Knuth, Donald, 84
Kogai, Dan, 184
Kupiec, Julian, 164

L[ Top ]
languages
      NLP, 149-171
      OO programming, 53-54
      text-processing, 149
Latin 1 standard, ISO, 172
Learning Perl (Schwartz), 261
Leroy, Jean-Louis, 130
Lester, Andy, 221
lex & yacc, 68
lexing operations
      HOOK::LexWrap, 14-16
      Parse::Lex, 71
Lingua::EN::Inflect, 150-154
      NUMWORDS subroutine, 152-154
      overview of, 150
      PL and NO subroutines, 151
Lingua::EN::Keywords, 166-168
Lingua::EN::NamedEntity, 168-170
Lingua::EN::Sentence, 155
Lingua::EN::Splitter, 155-156, 158
Lingua::EN::StopWords, 158, 166
Lingua::EN::Summarize, 163
Lingua::EN::Tagger, 166
Lingua::Segmenter::TextTiling, 155-156
Lingua::Stem::En, 157
Lingua::Stemmer, 157
Lingua::Stopwords, 161
LinkExtor, HTML::LinkExtor, 75
loops
      event loop (or main loop), 196
loops (continued)
      HTML::Template, 93
      Text::Template and, 86-87
Luhn, Hans Peter, 164

M[ Top ]
MACRO directive, 112
macros, in Template Toolkit, 112-113
Mail::Audit, 64-68
main loop, in event-driven paradigm, 196
maps, trivial object-relational mapping, 141
Marquess, Paul, 269
Mason (see HTML::Mason)
matches, data stream, 47-48
Matsumoto, Yukihiro, 24, 252
Maypole, 144-147
      actions, 145-146
      Class::DBI and, 144-145
      goals or functions of, 144
McMahon, Joe, 221
memory location, 25
method calls
      concatenation operator and, 33
      in OO programming languages, 53-54
MLDBM, 126-127
modifiers, getting values of, 59
modules, POE (see components, POE)
Mono project, 76
multilevel DBMs, 125-127
multitable joins, 141
mutators, converting methods to, 23
MVC Patterns, 142
my variables, 85, 98
MySQL, 119

N[ Top ]
named-entity extraction, Lingua::EN::NamedEntity, 168-170
namespace, POE::Component:: namespace, 207
natural language processing (see NLP)
network servers, event-driven paradigm for, 195
NLP (natural language processing), 149-171
      converting words to numbers, 152-154
      document categorization, 159-170
      inflections, 150-152
      overview of, 149
      parsing English, 154
      Perl and, 149-150
      pluralization, 150-151
      splitting text into chunks, 154-156
      stemming words, 156-157
      stop words, 158
NO subroutine, Lingua::EN::Inflect, 151
numbers, converting words to, 152-154
NUMWORDS subroutine, Lingua::EN::Inflect, 151-154

O[ Top ]
Obfuscated Perl Contest, 256, 260
obfuscation, with Perl, 256-261
object databases
      Class::DBI, 137-140
      database abstraction, 134
      overview of, 129
      pitfalls of, 130
      Tangram, 130-134
      trivial object-relational mapping, 135-137
object orientation (see 00)
Object Oriented Perl (Conway), 23
object serialization (see serialization)
objects
      relationships in Tangram, 133
      schema and classes, 119-121
on-demand storage references, Tangram, 133
one-liners, 265
OO (object orientation), 20-25
      dynamic method resolution, 23
      method calling, 53-54
      singleton methods, 24-25
      UNIVERSAL class, 20-23
op tree, 19-20
OpenFrame, 147
OpenInteract, 147
operators
      concatenation, 33
      in B module, 17
      numification, 28
      overloading, 26-29
      stringification, 28
Oracle, 119
$OUT variable, Text::Template, 87
overloading
      limitations of, 34
      non-operator overloading, 29-33
      operator overloading, 26-28
      overview of, 26-28

P[ Top ]
pack, getting formatted output, 80
PageKit, 147
Paris Perl Mongers, 263
Parse::Lex, 71
Parse::RecDescent, 44-68
      actions, 48-51
      applying to game of Go, 44-45
      automating, 57-59
      commit, reject, and error, 53-56
      debugging, 51-53
      iCalendar example, 60-64
      matching portions of data stream, 47
      other features, 59-60
      procmail example, 64-68
      Text::Balanced, 46-47
      whitespace, 56-57
Parse::Yapp, 68-72
parsing techniques, 43-78
      Config::Auto, 78
      HTML::Parser, 73-75
      natural language tools for parsing English text, 159
      overview of, 43-44
      Parse::Lex, 71
      Parse::RecDescent (see Parse::RecDescent)
      Parse::Yapp, 68-72
      XML::Parser, 75-77
Pazdziora, Jan, 84
pcre library, 245-247
Pedersen, Jan O., 164
Perl & LWP, 75
Perl & XML, 77
Perl formats
      overview of, 80-82
      Text::Autoformat compared with, 83-84
Perl Golf, 263-265
Perl Kwalitee Assurance team, 215
Perl logic, HTML::Mason and, 97-98
Perl Object Environment (see POE)
Perl poetry, 264-266
PerlUnit, 226
perlxstut, Perl documentation, 233
PINT, Class::PINT, 141
pipe (|) symbol, 109
Pixie module, 127-129
PL subroutine, Lingua::EN::Inflect, 151
place extraction, document categorization, 168-170
plaintext
      formatting, 84
      matching portions of data stream, 47
plugins
      Class::DBI plug-in relationships, 140
      in Template Toolkit, 110-111
      Template::Plugin, 110, 113
pluralization, natural language tools for, 150-154
PoCo (see POE::Component)
Pod::Tests, 225
POE (Perl Object Environment), 195-214
      components, 207-213
      event-driven paradigm, 195-196
      Hello World example, 196-200
      overview of, 195
      port forwarder, 203-207
      wheels, 200-202
POE::Component::Client::HTTP, 212
POE::Component::Client::TCP, 208-210
POE::Component::namespace, 207
POE::Component::RSSAggregator, 213
POE::Component::Server::HTTP, 210-212
POE::Component::Server::TCP, 208-210
POE::Wheel::Curses, 202
POE::Wheel::FollowTail, 200-202
POE::Wheel::ReadWrite, 205-206
POE::Wheel::SocketFactory, 204-206
polymorphism, 132
port forwarder, POE, 203-207
Porter, Martin, 157
printf
      format filter compared with, 109
      getting formatted output, 80
procmail, Parse::RecDescent examples, 64-68
programmers, rites of passage, 79
Programming Perl (Wall), 1, 261
pruning DBMs, 124-125
Pugh, Kate, 142
Python, Inline::Python, 250-252

Q[ Top ]
queries, Tangram, 134

R[ Top ]
RecDescent (see Parse::RecDescent)
recognizer, in Parse::RecDescent, 48-49
redos, testing and, 222-223
references
      assigning to parts of globs, 6-8
      Inline::C, 233
      looking up, 3
regular expressions
      matching portions of data stream, 47
      Unicode, 181-183
<reject> directive, Parse::RecDescent, 54-55
relational databases
      object-relational mapping, 135-137
      Oracle and MySQL, 119
      SQLite, 135
relationships, Class::DBI, 139-140
remote objects, searching and retrieving, Tangram, 131
repetition directives, 47
require module, UNIVERSAL class, 22
RSS (Remote Site Summary)
      aggregation, 93-96
      HTML::Mason and, 98-107
      HTML::Template and, 95
      in template toolkit, 113-114
      overview of, 90
      POE::Component::RSSAggregator, 213
Ruby, 24
      Inline::Ruby, 252-253
      objects in, 30-31
      overloading in, 26, 31-33
rules, matching portions of data stream, 47

S[ Top ]
scalars
      compared with objects, 119
      Inline::C, 237-241
schema, DBMs, 119-121
Schwartz, Randal, 261
Schwern, Michael, 137, 215, 222
SDBM library, 118
SearchBuilder, DBIx::SearchBuilder, 141
security, Text::Template, 87
segmenters, Lingua::Segmenter::TextTiling, 155-156
SelfGOL, 260
sentences
      extracting key, 163
      Lingua::EN::Sentence, 155
      splitting up, 154-155
Sergeant, Matt, 198
serialization, 119-129
      Data::Dumper, 121-123
      multilevel DBMs and, 125-127
      overview of
      Pixie module, 127-129
      pruning problem, 124-125
      Storable and FreezeThaw, 125
      YAML, 122
sessions, POE, 196
SGF (Smart Game Format), 44-45
shutdown methods, Test::Class, 229
singleton method, applying to object rather than class, 24-25
skips, testing and, 218-219
Sleepycat Berkeley DB, 118
Smart Game Format (SGF), 44-45
source filters, 269
spam, NLP for preventing, 159
SpamAssassin, 159
special variables
      $! (special variable), 25
      formats and, 82
splitters, Lingua::EN::Splitter, 155-156, 158
SPOPS
      Maypole and, 147
      relational mappers, 141
sprintf, getting formatted output, 80
SQLite, 135
square brackets ([ ]), 46
stack, handling in Inline::C, 241-243
standards, Unicode (see Unicode)
startup methods, Test::Class, 229
stemming words, natural language tools, 156-157
stopwords
      Lingua::EN::StopWords, 158, 166
      natural language tools, 158
Storable module, 123
storage, symbol table mapping to, 2
storing/retrieving data, 129
      (see also DBMs)
stringification operator (" "), 28
strings
      encoding, 191-193
      overloading and, 31-33
      traversing, 190-191
Struct, Inline::Struct, 254
structured data
      parsing, 43
      wrapping, 82
subclassing, singleton method and, 24
subroutines
      creating with globs, 8-10
      wrappers around, 14-16
subrules, matching portions of data stream, 47
substr, getting formatted output, 80
summarization, document categorization, 163-166
      Summarization, Lingua::EN::Summarize, 163
symbol table
      finding globs in, 2-3
      looking up variable names in, 2-3

T[ Top ]
tagging documents, Lingua::EN::Tagger, 166
taint mode, Text::Template, 87
Tangram, 130-134
      classes and schema, 130-131
      create, read, update, delete, 132-134
      overview of, 130-131
Tangram::Cursor, 133
Tangram::Expr, 133
Tangram::Filter, 133
Tangram::Storage, 133-134
TANGRAM_TRACE, 134
TAP (Test Anything Protocol), 221
TCP
      POE::Component::Client::TCP, 208-210
      POE::Component::Server::TCP, 208-212
Template Toolkit
      Class::DBI and, 142-144
      components and macros, 112-113
      filters, 109
      overview of, 107-109
      pluggins, 110-111
      RSS Aggregator, 113-114
Template::Plugin::Autoformat, 110
Template::Plugin::XML::RSS, 113-114
Template::Plugin::XML::Simple, 110
templating tools
      AxKit, 114-117
      formats and, 80-82
      HTML::Mason (see HTML::Template)
      HTML::Template (see HTML::Template)
      Template Toolkit (see Template Toolkit)
      Text::Autoformat, 82-84
      Text::Template (see Text::Template)
terminal symbol, parsing for, 52
Test Anything Protocol (TAP), 221
Test::Builder, 222-223
Test::Builder::Tester, 224-225
Test::Class, 226-229
      overview of, 226-227
      startup and shutdown methods, 229
      testing Apache, DBI, and other complex environments, 231-232
Test::Fuzzy, 224
Test::Harness, 220-221
testing
      Apache, 231-232
      automated, 219-220
      DBI, 231
      keeping tests and code together, 225
      overview of, 215
      Pod::Tests, 225
      skips and redos, 218-219
      Test::Builder, 222-223
      Test::Builder::Tester, 224-225
      Test::Class, 226-229
      Test::Harness, 220-221
      Test::MockObject, 229-230
      Test::More, 217-218
      Test::Simple, 215-217
      unit tests, 226
Test::Inline, 225
Test::MockObject, 229-230
Test::More
      automated testing with, 219-220
      overview of, 217-218
      skips and redos, 218-219
Test::Simple, 215-217
Test::Tutorial, 232
TeX package, 84
text, English
      converting words to numbers, 152-154
      document categorization (see document categorization)
      inflections, 150-152
      pluralization, 150-151
      splitting into chunks, 154-156
      stemming words, 156-157
      stopwords, 158
text formatting (see Text::Template)
text handlers, 74
Text::Autoformat, 82-84
      compared with Perl formatting language, 83-84
      hyphenation and, 84
      Template::Plugin::Autoformat, 110
      wrapping structured text, 82-83
Text::Balanced, 46
text-processing languages, 149, 171
Text::Sentence, 154
Text::Template
      compared with Template Toolkit, 108
      loops, arrays, and hashes and, 86-87
      overview of, 84-86
      security and error checking, 87
      tricks, 89-90
TextTiling, Lingua::Segmenter::TextTiling, 155-156
Text::Wrap, 82
threading, attributes and, 36
Time module, overloading, 26-28
time shifting
      BEGIN, 34-35
      CHECK blocks and, 35-38
      DESTROY, 38
      eval, 34-35
      overview of, 34
Tk, 195-196
<TMPL_ELSE>, HTML::Template, 92
<TMPL_IF>, HTML::Template, 92
<TMPL_LOOP>, HTML::Template, 93
<TMPL_VAR>, HTML::Template, 90
tokens
      bottom-up parsing and, 43
      HTML::TokeParser, 75
top-down parsers, 43
      (see also Parse::RecDescent)
tracing, TANGRAM_TRACE, 134
TT (see Template Toolkit)
tutorials
      POE, 198
      Test::Tutorial, 232

U[ Top ]
UCS (Universal Character Set)
      overview of, 175
      UCS-2, 176-177
      UCS-4, 178
unexpected code
      limitations of overloading, 34
      non-operator overloading, 29
      operator overloading, 26-28
      overloading, 26-28
      overview of, 25
Unicode, 172-194
      entering Unicode characters, 180-181
      handling UTF-8 data, 179-180
      overview of, 174
      PerlIO and, 186
      reasons for using, 176
      regular expressions, 181-183
      terminology and, 172-173
      transformation formats (see UTF)
      UCS (Universal Character Set), 174-175
      Unicode Consortium, 175
      XS authoring and, 190-193
Unicode: A Primer (Graham), 174
Unicode Technical Committee (UTC), 175
Unicode Technical Report (UTR), 174
unit tests
      overview of, 226
      Test::Class, 226-229
      Test::MockObject, 229-230
Universal Character Set (see UCS)
UNIVERSAL class, 20-23
      can method, 20
      combine with AUTOLOAD, 23
      isa method, 20-21
      methods, 20
      require module, 22
      VERSION method, 20-22
updates
      Class::DBI, 138
      Tangram, 133
use strict, 85
UTC (Unicode Technical Committee), 175
UTF (Unicode Transformation Format)
      character encoding, 173
      transformation formats, 176-180
      UCS-2, 176-177
      UCS-4, 178
      UTF-16BE, 178
      UTF-16LE, 178
      UTF-32, 178
      UTF-7, 179
      UTF-8, 179-180
      UTF-EBCDIC, 179
UTF-8
      encoding strings, 191-193
      handling UTF-8 data from external sources, 179-180
      handling UTF-8 data from inside program, 180-181
      overview of, 177
      traversing strings, 190-191
UTR (Unicode Technical Report), 174

V[ Top ]
validation, HTML::Template, 92
variables
      accessing, 2-3
      HTML::Template, 90-92
VERSION method, UNIVERSAL class, 20-22
virtual machines, Perl, 18

W[ Top ]
Wall, Larry, 149-150
Wardley, Andy, 107
Watkiss, Neil, 250, 254
Web applications
      Class::DBI and Template Toolkit and, 142-144
      Maypole, 144-147
      overview of, 142
Web sites
      Paris Perl Mongers, 263
      POE tutorial, 198
      Test::Tutorial, 232
wheels, POE, 200-202
      POE::Wheel::Curses, 202
      POE::Wheel::FollowTail, 200-202
      POE::Wheel::ReadWrite, 205-206
      POE::Wheel::SocketFactory, 204-206
whitespace
      Parse::RecDescent, 56-57
      Perl tolerance of, 258-259
Winters, Chris, 147
word distribution, Zipf's Law, 164
words, natural language tools for converting to numbers, 152-154
wrappers
      around subroutines, 14-16
      C libraries, 245-247
      HOOK::LexWrap, 14-16
      Text::Autoformat, 82-83
      Text::Wrap, 82

X[ Top ]
XML
      RSS based on, 90
      Template::Plugin::XML::RSS, 113
      Template::Plugin::XML::Simple, 110
      transforming to HTML, 114
      XML::Parser, 75-77
XP (Extreme Programming), 215, 226
XS (extension subroutines), 190-193
      bridging Perl and C, 233
      encoding strings, 191-193
      Perl internal values and, 237
      references, 243
      skeleton module, 249
      traversing strings, 191-193
XS (extention subroutines)
      traversing strings, 190-191
XSP (Extensible Server Pages), 114

Y[ Top ]
yacc (Yet Another Compiler Compiler)
      as traditional parser, 44
      overview of, 68
YAML (YAML Ain't Markup Language), 122
yapp
      command-line utility, 71-72
      Parse::Yapp, 68-72
Yona, Shlomo, 155

Z[ Top ]
Zipf's Law of Word Distribution, 164

	

Zurück zu Advanced Perl Programming


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly France O'Reilly USA O'Reilly Japan O'Reilly Taiwan