O'Reilly logo

Mastering Perl by brian d foy

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

# (hash), Readable Regexes, /x and (?#...), Writing in Binary
binary numbers and, Writing in Binary
escaping, Readable Regexes, /x and (?#...)
$! variable, Perl Error Basics
$& variable, References to Regular Expressions
$? variable, Perl Error Basics, Child Process Errors
child process errors and, Child Process Errors
$@ variable, Perl Error Basics
$^E variable, Perl Error Basics, Errors Specific to the Operating System
errors specific to operating systems, Errors Specific to the Operating System
$^O variable (operating system), Different Operating Systems
$_ variable, Global Matching
& (bitwise AND), Bitwise AND, &
( ) (parentheses), Noncapturing Grouping, (?:PATTERN), Global Matching
global matching and, Global Matching
noncapturing grouping in regexes, Noncapturing Grouping, (?:PATTERN)
(?!PATTERN) lookaheads, Lookahead Assertions, (?=PATTERN) and (?!PATTERN)Negative lookahead assertions
(?#...) regular expressions, Readable Regexes, /x and (?#...)
(?:PATTERN) regular expressions, Noncapturing Grouping, (?:PATTERN)Noncapturing Grouping, (?:PATTERN)
(?<!PATTERN) lookbehinds, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
(?<=PATTERN) lookbehinds, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
(?=PATTERN) lookaheads, Lookahead Assertions, (?=PATTERN) and (?!PATTERN)Negative lookahead assertions
(?imsx-imsx:PATTERN) regular expressions, (?imsx-imsx:PATTERN)(?imsx-imsx:PATTERN)
-- (double hyphen switching), Command-Line Switches, Getopt::Long
Getopt::Long module and, Getopt::Long
-DDEBUGGING_MSTATS, Benchmarking Theory
-html option (perltidy), perltidy
-I switch, Side Effects of Taint Checking
-T (taint checking) switch, Warnings Instead of Fatal Errors
warnings/fatal errors and, Warnings Instead of Fatal Errors
. (dot), References to Regular Expressions, (?imsx-imsx:PATTERN)
literal, in regular expressions, References to Regular Expressions
newlines, matching, (?imsx-imsx:PATTERN)
// (defined-or) operator, Turning on Extra Output
/o flag, References to Regular Expressions
$0 variable, Scripts with a Different Name
0b notation, Writing in Binary
32-bit values, Unary NOT, ~
8-bit values, Unary NOT, ~
<< (left shift) operators, Left << and right >> shift operators
= (equal sign) in Pod directives, Directives
>> (right shift) operators, Left << and right >> shift operators
@+ arrays, References to Regular Expressions
@- arrays, References to Regular Expressions
@ARGV array, using command-line switches, Command-Line Switches
@_ variable, Subroutines As Arguments
\ (backslash), escaping characters, Readable Regexes, /x and (?#...)
\G anchor, Global Match Anchors
\s (whitespace), Readable Regexes, /x and (?#...)
^ (carat), in regular expressions, Global Match Anchors
^ (exclusive OR) operator, Exclusive OR, ^
_ (underscore), as an identifier, The Symbol Table
| (binary OR), Binary OR, |
| (pipe), using taint checking, Tainted Data
|| (short circuit operator), Turning on Extra Output
~ (NOT) operator, Unary NOT, ~Unary NOT, ~

A

Aas, Gisle, Readable Regexes, /x and (?#...), The perlbench Tool, pack
ActiveState, Komodo
Advanced Perl Programming, Command-Line Switches
Affrus (debugger), Affrus
aliasing, Aliasing
American Stance, Untainting Data
anchors, Global Match Anchors, LookaroundsLookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
global match, Global Match Anchors
lookarounds, LookaroundsLookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
AND (&) bitwise, Bitwise AND, &
__ANON__ pseudokey, Doing Whatever I Want
anonymous subroutines, Naming Anonymous Subroutines, Dynamic Subroutines, Subroutines As DataSubroutines As Data
naming, Naming Anonymous Subroutines
storing as variables, Subroutines As DataSubroutines As Data
Apache::PerlRun module, mod_perl
Apache::Pod module, Pod in Your Web Server
Apache::Registry module, mod_perl
AppConfig module, AppConfig
arguments, using subroutines as, Subroutines As ArgumentsSubroutines As Arguments
ARRAY variable type, Typeglobs
arrays, ArraysSomething a Bit More Realistic
ASCII-betical, Other DBI::Profile Reports
AUTOLOAD subroutine, Autoloaded Methods, AutoSplit
automatic taint mode, Automatic Taint Mode
autosplit, AutoSplit

B

\b (word boundary), Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
%b format specifier, Writing in Binary
B::Deparse module, Unparsing Code with B::Deparse
backslash (\), escaping characters, Readable Regexes, /x and (?#...)
Barr, Graham, Subroutines As Arguments
BASH_ENV environment variable, Side Effects of Taint Checking
BEGIN blocks, Replacing Module Parts, Code in a Separate File
configuring programs, using, Code in a Separate File
begin_work method, DBM::Deep
Benchmark module, Benchmarking Time, Don’t Turn Off Your Thinking Cap, Memory Use
benchmarks, Benchmarking PerlFurther Reading, Benchmarking TimeBenchmarking Time, Memory UseMemory Use
memory use and, Memory UseMemory Use
time, Benchmarking TimeBenchmarking Time
binary numbers, Binary NumbersWriting in Binary
binary OR (|), Binary OR, |
BioPerl module, Bit Vectors
bit string storage, Bit String StorageBit String Storage
bit vectors, Bit VectorsBit Vectors
bits, working with, Working with BitsFurther Reading
bitwise AND (&), Bitwise AND, &
blacklisting, Untainting Data
body elements (Pod), Body Elements
bounded integers, Bounded Integers
Brocard, Léon, Devel::ebug
Burke, Sean, The Pod Format

C

/c flag, Global Match Anchors, Summary
C library, Operating System Errors, Bit Operators
caret (^), in regular expressions, Global Match Anchors
carp function, The Best Debugger in the World
Carp module, Program TracingProgram Tracing
case-insensitivity with regular expressions, (?imsx-imsx:PATTERN)
CDPATH environment variable, Side Effects of Taint Checking
CGI::Carp module, Doing Whatever I WantProgram Tracing
child process errors, Child Process Errors
$CHILD_ERROR, Perl Error Basics
chmod, Binary Numbers
CLEAR( ) tie method, Hashes
CLOSE( ) tie method, Filehandles
cluck (Carp module), Program Tracing
CODE variable type, Typeglobs
coding style, Good Style
comma-separated values (CSV), Profiling DBI
command-line switches, Command-Line SwitchesGetopt::Long
comments (Pod), Multiline Comments
COMMIT statement (SQL), profiling database code, Switching Databases
confess (Carp module), Program Tracing
Config module, perl’s Config
Config::ApacheFile module, Other Configuration Formats
Config::InFiles module, Config::IniFiles
Config::INI module, AppConfig
Config::Scoped module, Config::Scoped
ConfigReader::Simple module, ConfigReader::Simple
configuration of programs, Configuring Perl ProgramsFurther Reading, Code in a Separate File, Command-Line SwitchesGetopt::Long, Configuration FilesOther Configuration Formats
code in separate files, Code in a Separate File
command-line switches, Command-Line SwitchesGetopt::Long
files, Configuration FilesOther Configuration Formats
consistency in coding, Good Style
constraints, Iterating Through Subroutine Lists
Conway, Damian, Readable Regexes, /x and (?#...), Wrapping Subroutines, Good Style, Wrapping Subroutines, Interactive and Noninteractive Programs
IO::Interactive modules and, Interactive and Noninteractive Programs
Cozens, Simon, Further Reading, Command-Line Switches
CPAN, Modifying and Jury-Rigging Modules
croak, The Best Debugger in the World
cron program, Turning on Extra Output
CSV (comma-separated values), Profiling DBI
=cut directive (Pod), Directives

D

-D (debugging) switch, Deciphering Regular Expressions, Using a Different Debugger with -D
-d switch, Using a Different Debugger with -D, Devel::ptkdb, Devel::ebug, Devel::DProf, Devel::LineCounter
Devel::DProf modules and, Devel::DProf
Devel::ebug module and, Devel::ebug
devel::ptkdb module and, Devel::ptkdb
data persistence, Data PersistenceFurther Reading, Flat FilesYAML
flat files and, Flat FilesYAML
Data::Constraint module, Iterating Through Subroutine Lists
Data::Dump::Streamer module, Similar Modules
Data::Dumper module, Data::DumperData::Dumper
databases, The General Approach, Profiling DBIProfiling DBI, Switching Databases
code, profiling, The General Approach, Profiling DBIProfiling DBI
switching, Switching Databases
DBD::CSV module, Profiling DBI
%DBHASH variable, They Look Like Normal Variables
DBI module, Data Persistence
dbi.prof, Making It Even Easier
DBI::Profile module, Profiling DBISwitching Databases, Other DBI::Profile ReportsMaking It Even Easier
other reports, Other DBI::Profile ReportsMaking It Even Easier
DBI::ProfileDumper module, Making It Even Easier
DBI_PROFILE environment variable, setting for profiling, Profiling DBI, Making It Even Easier
DBM files, DBM FilesSummary
DBM::Deep module, DBM::Deep
dbmopen, dbmopen, Binary Numbers, They Look Like Normal Variables
de-obfuscation, De-ObfuscationUnparsing Code with B::Deparse
debuggers, The perlbench ToolThe perlbench Tool
perlbench tools, The perlbench ToolThe perlbench Tool
debugging, Debugging PerlFurther Reading, Alternative DebuggersDevel::ebug
alternative, Alternative DebuggersDevel::ebug
decimal numbers, Writing in Binary
deep copy (data), Freezing Data
defined-or (//) operator, Turning on Extra Output
DELETE( ) tie method, Hashes
DESTORY method, Behind the Curtain
Devel::Cover module, Devel::Cover
Devel::DProf module, Using a Different Debugger with -D, Devel::DProf
Devel::ebug module, Devel::ebug
Devel::MyDebugger module, Using a Different Debugger with -D
Devel::Peek module, Memory Use, The vec Function
Devel::ptkdb module, Devel::ptkdb
Devel::Size module, Memory Use, Bit Vectors
Devel::SmallProf module, Finding the Culprit, Writing My Own Profiler
die, The Best Debugger in the World, evalPropagating Objects with die
__DIE__ pseudokey, Doing Whatever I Want
diff command, Sending Patches to the Author
directives (Pod), Directives
dirname utility, Pod Translators
DNA, Writing in Binary, Storing DNA
storing, Storing DNA
writing in binary, Writing in Binary
Dominus, Mark Jason, Untainting Data, Subroutines As Arguments
dot (.), References to Regular Expressions, (?imsx-imsx:PATTERN)
literal, in regular expressions, References to Regular Expressions
newlines, matching, (?imsx-imsx:PATTERN)
double hyphen (--) switching, Command-Line Switches, Getopt::Long
Getopt::Long module, Getopt::Long
dprofpp, Devel::DProf
dualvars, Operating System Errors
dynaqmic subroutines, Dynamic SubroutinesFurther Reading

E

-e argument, perl5db.pl
Eclipse, EPIC
elsif statements, storing subroutines in variables, Subroutines As Data
Email::Send::SMTP module, Replacing Module Parts
Email::Simple module, Replacing Module Parts
Email::Stuff module, Replacing Module Parts
encoding hidden source code, De-Encoding Hidden SourceDe-Encoding Hidden Source
END blocks, profiling code and, The General Approach, Devel::LineCounter
__END__ token, AutoSplit
ENV environment variable, Side Effects of Taint Checking
$ENV variable, Errors Specific to the Operating System
environment variables, Environment Variables
EPIC, EPIC
equal sign (=) in Pod directives, Directives
$ERRNO, Perl Error Basics
Errno module, Operating System Errors
errno.h, Operating System Errors
errors, Warnings Instead of Fatal Errors, Detecting and Reporting ErrorsFurther Reading, Operating System ErrorsOperating System Errors, Child Process Errors, Reporting Module ErrorsSeparation of Concerns, Exceptions, Recording Errors and Other Information
child process, Child Process Errors
detecting and reporting, Detecting and Reporting ErrorsFurther Reading
exceptions, Exceptions
fatal, Warnings Instead of Fatal Errors
module, reporting, Reporting Module ErrorsSeparation of Concerns
operating systems, Operating System ErrorsOperating System Errors
recording, Recording Errors and Other Information
eval, Perl Error Basics, eval, Storable
$EVAL_ERROR, Perl Error Basics
exceptions, ExceptionsFatal
exclusive OR (^) operator, Exclusive OR, ^
exec( ) function, List Forms of system and execLimit Special Privileges
EXISTS( ) tie method, Hashes
exit keyword, Child Process Errors
eXplain mode, (?imsx-imsx:PATTERN)
$EXTENDED_OS_ERROR, Perl Error Basics
ExtUtils::MakeMaker module, Devel::Cover, AutoSplit, An ExtUtils::MakeMaker Example

F

factorial routines, Finding the Culprit
fatal errors, Warnings Instead of Fatal Errors
Fatal module, Fatal
fatalsToBrowser function, Doing Whatever I Want
FETCH( ) tie method, Arrays, Hashes
FETCHSIZE( ) tie method, Arrays
File::Find module, Naming Anonymous Subroutines
File::Spec module, Tainted Data, Different Operating Systems
filehandle arguments, Filehandle Arguments in Older Code
filehandles, FilehandlesFilehandles
flat files, Flat FilesYAML
flock function, Binary OR, |
Foley, Richard, perl5db.pl
forking, Forking
freezing data, Freezing Data
Friedl, Jeffery, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
functions, Bad Data Can Ruin Your Day, Hiding and Ignoring Functions
interacting with operating systems and, Bad Data Can Ruin Your Day
Pod checks, hiding from, Hiding and Ignoring Functions

G

\G anchor, Summary
/g flag, Global MatchingGlobal Match Anchors
“Generating Sudoku”, Keeping Track of Things
Getopt modules, Command-Line Switches, Getopt ModulesGetopt::Long
Getopt::Attribute module, Command-Line Switches
Getopt::Easy module, Command-Line Switches
Getopt::Long module, Command-Line Switches, Getopt::LongGetopt::Long, AppConfig
AppConfig module and, AppConfig
Getopt::Mixed module, Command-Line Switches
Getopt::Std module, Command-Line Switches, Getopt::StdGetopt::Std
glob( ) function, Don’t Turn Off Your Thinking Cap
global match anchors, Global Match Anchors
global matching, Global MatchingGlobal Match Anchors
global variables, Typeglobs
-gnu switch (perltidy), perltidy
Goess, Kevin, Log4perl
good style, coding, Good Style
grep, References to Regular Expressions

I

/i flag, (?imsx-imsx:PATTERN), Global Match Anchors
I<> (italic), Body Elements
if statements, storing subroutines in variables, Subroutines As Data
IFS environment variable, Side Effects of Taint Checking
Image::Info module, pack
indirect objects for system function, List Forms of system and exec
INSERT statements (SQL), profiling database code and, Switching Databases
interactive programs, Interactive and Noninteractive Programs
interior sequences (Pod), Body Elements
Intermediate Perl, Who Should Read This Book, Dynamic Subroutines
IO::Handle module, IO::Handle::untaint
IO::Interactive module, Interactive and Noninteractive Programs
IO::Socket::INET module, Replacing Module Parts

J

JAPH (Just another Perl hacker), Backing Up
JavaScript Object Notation (JSON), YAML
JSON (JavaScript Object Notation), YAML
Just another Perl hacker (JAPH), Backing Up

K

keys (hash), Hash Keys
keys operator, The Symbol Table
Komodo, Komodo
Kulp, David, Benchmarking Time

M

-M switch, Using a Different Debugger with -D, Who’s Calling?, My Method
-m switch (perldoc), Pod Translators
Mac::Carbon module, Errors Specific to the Operating System
Mac::Errors module, Errors Specific to the Operating System
Mac::Glue module, Errors Specific to the Operating System
MacPerl, Errors Specific to the Operating System
mail command, List Forms of system and exec
main, as a C subroutine and Perl package, The main Thing
Makefile, An ExtUtils::MakeMaker Example
Maki, Eric, Keeping Track of Things
map( ) function, Don’t Turn Off Your Thinking Cap
masks, Bitwise AND, &
Mastering Regular Expressions, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
maybe_regex method, References As Arguments
Memoize module, Finding the Culprit
memory management, Memory Use
memory use, benchmarking programs, Memory UseMemory Use
metacharacters (shell), using system and exec function, List Forms of system and exec
method lists, Method Lists
missing input, Detecting and Reporting Errors
mkdir, Binary Numbers
ModPerl::PerlRum module, mod_perl
ModPerl::Registry module, mod_perl
Module::Build module, Devel::Cover
Module::Release module, Distributing the Programs
modules, Safely Changing Modules, Modifying and Jury-Rigging ModulesFurther Reading, Taking over a Module, Replacing Module PartsReplacing Module Parts, SubclassingOther Examples, Wrapping SubroutinesWrapping Subroutines, Getopt ModulesGetopt::Long, Reporting Module ErrorsSeparation of Concerns, Modules As ProgramsFurther Reading, Testing the ProgramAdding to the Script, Distributing the Programs
changing, Safely Changing Modules
distributing, Distributing the Programs
errors, reporting, Reporting Module ErrorsSeparation of Concerns
Getopt, Getopt ModulesGetopt::Long
programs, as, Modules As ProgramsFurther Reading
replacing parts of, Replacing Module PartsReplacing Module Parts
subclassing, SubclassingOther Examples
taking over, Taking over a Module
testing, Testing the ProgramAdding to the Script
wrapping subroutines and, Wrapping SubroutinesWrapping Subroutines
mod_perl, mod_perl
multiline comments (Pod), Multiline Comments
multiline matching modes, (?imsx-imsx:PATTERN)
multiple-character switches, Command-Line Switches
MySQL, Data Persistence

N

named subroutines, Creating and Replacing Named SubroutinesCreating and Replacing Named Subroutines
Nandor, Chris, Devel::DProf
negative lookarounds, Lookarounds, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
Net::FTP module, Benchmarking Time
Net::SMTP module, Replacing Module Parts
New C Primer Plus, Bit Operators
NEXTKEY( ) tie method, Hashes
noncapturing grouping in regular expressions, Noncapturing Grouping, (?:PATTERN)Noncapturing Grouping, (?:PATTERN)
noninteractive programs, Interactive and Noninteractive Programs
NOT (~) operator, Unary NOT, ~Unary NOT, ~
nroff, Pod Translators

P

pack( ) function, pack
__PACKAGE__ compiler directive, die with a Reference
package main, Backing Up
package variables, Package and Lexical VariablesGetting the Package Version
package versions, Getting the Package Version
parentheses (( )), Noncapturing Grouping, (?:PATTERN), Global Matching
global matching and, Global Matching
noncapturing grouping in regexes, Noncapturing Grouping, (?:PATTERN)
patches, Sending Patches to the Author
PATH setting, Taint Checking
PAUSE (Perl Authors Upload Server), Taking over a Module
Perl Authors Upload Server (PAUSE), Taking over a Module
Perl Best Practices, Readable Regexes, /x and (?#...), Good Style
Perl Power Tools, Benchmarking Time, Pod Translators
Perl Review, Keeping Track of Things
perl5db.pl, Debugging Perl, perl5db.pl, Alternative DebuggersDevel::ebug
PERL5LIB environment variable, Side Effects of Taint Checking, Safely Changing Modules
PERL5OPT environment variable, Special Environment Variables
Perl::Critic module, Perl::CriticCreating My Own Perl::Critic Policy
perlbench tool, Benchmarking Theory, The perlbench ToolThe perlbench Tool
perldebguts documentation, Deciphering Regular Expressions, Further Reading, Memory Use
benchmarking and, Memory Use
perldebug documentation, perl5db.pl
perldoc, Pod Translators
perlfunc documentation, Bad Data Can Ruin Your Day
perlopentuf documentation, Bad Data Can Ruin Your Day
perlpodspec documentation, The Pod Format
perlre documentation, Advanced Regular Expressions, Further Reading
regular expressions, Advanced Regular Expressions
perlretut documentation, Further Reading
perlstyle documentation, Good Style
perlsub documentation, Further Reading
perltidy program, perltidyperltidy
perlvar documentation, Perl Error Basics
PERL_DPROF_OUT_FILE_NAME environment variable, Devel::DProf
persistent logging, Persistent Logging
pipe (|), using taint checking, Tainted Data
pipelines, processing, Processing Pipelines
Plain Old Documentation, Working with Pod (see Pod)
Pod (Plain Old Documentation), Working with PodFurther Reading, Translating PodPod in Your Web Server, Testing PodHiding and Ignoring Functions
testing, Testing PodHiding and Ignoring Functions
translating, Translating PodPod in Your Web Server
Pod::Checker module, Checking Pod
Pod::Parser module, Translating Pod
Pod::Perldoc module, Pod Translators
Pod::Perldoc::ToToc module, Pod::Perldoc::ToTocPod::Perldoc::ToToc
Pod::Simple module, Pod::SimplePod::Simple
Pod::TOC module, Pod::Simple
pointers, Typeglobs
POP( ) tie method, Arrays
Portable Network Graphics (PNG), pack
pos( ) operator, Global Matching
positive lookarounds, Lookarounds, Lookbehind Assertions, (?<!PATTERN) and (?<=PATTERN)
PostgreSQL, Data Persistence
precedence in regular expressions, Noncapturing Grouping, (?:PATTERN)
print statements, The Best Debugger in the WorldWrapping Subroutines, Turning on Extra Output
configuring programs and, Turning on Extra Output
debugging tool, using as, The Best Debugger in the WorldWrapping Subroutines
PRINT( ) tie method, Filehandles
printf function, Operating System Errors, Writing in Binary
%b format specifier and, Writing in Binary
problem-solving, My Philosophy of Problem-Solving
profiling, Profiling PerlFurther Reading, The General Approach, Profiling DBISwitching Databases, Devel::DProf
approach to, The General Approach
DBI, Profiling DBISwitching Databases
Devel::DProf module and, Devel::DProf
Prussian Stance, Untainting Data
PUSH( ) tie method, Arrays

Q

qr( ) quoting operator, Summary
qr// (quoting operator), References to Regular Expressions, (?imsx-imsx:PATTERN), Global Match Anchors
case-insensitivity and, (?imsx-imsx:PATTERN)
quoting operator (qr//), References to Regular Expressions, (?imsx-imsx:PATTERN), Global Match Anchors
case-insensitivity and, (?imsx-imsx:PATTERN)

S

-s switch, The -s Switch
SCALAR variable type, Typeglobs
Scalar::Util module, Tainted Data
scalars, ScalarsSelf-Destructing Values
Schilli, Michael, Recording Errors and Other Information, Log4perl
Schwartz, Randal, Introduction: Becoming a Master
Schwartzian Transform, Don’t Turn Off Your Thinking Cap, Don’t Turn Off Your Thinking Cap
scope, using lexical variables and, Package and Lexical Variables
sea level (benchmark), Benchmarking Theory
secure programming techniques, Secure Programming TechniquesFurther Reading
self-destructing values, Self-Destructing Values
servers (web), using Pod, Pod in Your Web Server
shallow copy (data), Freezing Data
shift (<< >>) operators, Left << and right >> shift operators
short circuit operator (||), Turning on Extra Output
sleep program, Benchmarking Time
split, Positive lookahead assertions
sprintf function, Configuring Log4perl, pack, Writing in Binary
%b format specifier and, Writing in Binary
SQLite, Switching Databases
STDERR, Recording Errors and Other Information
STDOUT, checking interactive/noninteractive programs, Interactive and Noninteractive Programs
Stonehenge Consulting Services, Introduction: Becoming a Master
Storable module, StorableFreezing Data
store function (Storable module), Storable
STORE( ) tie method, Arrays, Hashes
STORESIZE( ) tie method, Arrays
strict, Before You Waste Too Much Time, Symbolic References
symbolic references and, Symbolic References
strings (bit storage), Bit String StorageBit String Storage
style, coding, Good Style
subclassing, SubclassingOther Examples
subroutines, Wrapping SubroutinesWrapping Subroutines, Naming Anonymous Subroutines, Dynamic SubroutinesFurther Reading, Subroutines As DataSubroutines As Data, Creating and Replacing Named SubroutinesCreating and Replacing Named Subroutines, Iterating Through Subroutine Lists, Subroutines As ArgumentsSubroutines As Arguments, Autoloaded Methods, Wrapping SubroutinesWrapping Subroutines
arguments, as, Subroutines As ArgumentsSubroutines As Arguments
as data, Subroutines As DataSubroutines As Data
autoloaded methods and, Autoloaded Methods
dynamic, Dynamic SubroutinesFurther Reading
iterating through, Iterating Through Subroutine Lists
named, creating and replacing, Creating and Replacing Named SubroutinesCreating and Replacing Named Subroutines
naming anonymous, Naming Anonymous Subroutines
wrapping, Wrapping SubroutinesWrapping Subroutines, Wrapping SubroutinesWrapping Subroutines
symbol tables, Symbol Tables and TypeglobsFurther Reading
symbolic references, Symbolic References
syslogd, Recording Errors and Other Information
sysopen function, Binary OR, |
sysopen( ) function, sysopen
system function, Left << and right >> shift operators
system( ) function, List Forms of system and execLimit Special Privileges

T

-T (taint checking) switch, Taint CheckingWarnings Instead of Fatal Errors
-t file test, Interactive and Noninteractive Programs
-t switch, Warnings Instead of Fatal Errors
-T switch, Devel::DProf, Pod Translators
dprofpp, Devel::DProf
perldoc, Pod Translators
taint checking, Taint CheckingSide Effects of Taint Checking, Side Effects of Taint Checking, Untainting DataChoosing Untainted Data with Tainted Data
side effect of, Side Effects of Taint Checking
untainting data, Untainting DataChoosing Untainted Data with Tainted Data
Template module, Adding to the Script
Template toolkit, Reporting Module Errors
Test::Builder module, References As Arguments
Test::Harness module, Devel::Cover
Test::More module, References As Arguments
Test::Output module, Testing the Program
Test::Pod::Coverage module, Pod Coverage
Text::Template::Simple module, Errors Specific to the Operating System
thaw( ) function, Freezing Data
three-argument open, Three-Argument open
tie function, They Look Like Normal Variables
Tie:: functions, Hiding and Ignoring Functions, Behind the Curtain
Tie::Array module, Behind the Curtain
Tie::Array::PackedC module, Bit Vectors
Tie::Cycle module, At the User Level, Tie::CycleTie::Cycle
Tie::Handle module, Behind the Curtain
Tie::Hash module, Behind the Curtain
Tie::Scalar module, Behind the Curtain
tied variables, The Magic of Tied VariablesFurther Reading
tied( ) function, They Look Like Normal Variables
TIESCALAR method, Behind the Curtain
time function, Benchmarking Time
timethese function, Comparing Code
translators (Pod), Translating PodPod in Your Web Server
Tregar, Sam, Making It Even Easier
typeglobs, Symbol Tables and TypeglobsFurther Reading, Aliasing
aliasing, Aliasing

U

-U switch, Warnings Instead of Fatal Errors
underscore (_), as an identifier, The Symbol Table
unreachable external resources, Detecting and Reporting Errors
untainting data, Untainting DataChoosing Untainted Data with Tainted Data, IO::Handle::untaint
IO::Handle module, IO::Handle::untaint

X

/x flag, Readable Regexes, /x and (?#...), Global Match Anchors
global match anchors and, Global Match Anchors
XOR (^) exclusive operator, Exclusive OR, ^

Y

YAML (YAML Ain’t Markup Language), YAML
YAPE::Regex::Explain module, Deciphering Regular Expressions

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required