!~ operator, 222
! operator, 163
!= operator, 158
$_ (topic variable) function, 90–91, 300
$ perldoc DBI, 558
$_ scalar, 223
$ sign, 52
$& variable, 240
%INC hash, 139
%= operator, 151
% (modulo) operator, 166
& (ampersands), 350
&& operator, 163
&= operator, 152
() (parentheses), 92
**= operator, 151
*= operator, 151
** (exponentiation) operator, 166
* (multiplication) operator, 166
+= operator, 151
+ (addition) operator, 166
-d switch, 718
-= operator, 151
- (subtraction) operator, 166
. (dot) metacharacter, 251–252
.= operator, 151
/etc/passwd file, 638
/= operator, 151
/ (division) operator, 166
:: (double colons), 410
< (less than) operator, 736, 739
<<= operator, 152
<= (less than or equal) operator, 736
<> (not equal to) operator, 736, 737
<=> (space ship) operator, 121, 130, 158
== operator, 158
=~ operator, 222
= (equal) operator, 151, 736, 737
>>= operator, 152
> (greater than) operator, 736, 739
>= (greater than or equal) operator, 736
? (question mark), 663
@_ array, passing arguments, 352–368
@ symbol, 52
[] (square brackets), 100, 663
^= operator, 152
_ (underscore), 743
|= operator, 152
|| operator, 163
abs function, 675
accept function, 675
accessing
databases, 521
elements
accounts, SAM (Security Accounts Manager), 639
ActivePerl, 8
adding
columns, 554
elements, arrays, 105
entries, 579
multiple records, 573
primary keys, 555
addition (+) operator, 166
addresses
blessings, 455
alarm function, 671, 672–673, 675
aliases
SQL (Structured Query Language), 758
typeglobs, references, 400–404
alphanumeric characters, 59
alternation of patterns, 273
alternative characters, 249
ALTER TABLE command, 554, 748, 759
American National Standards Institute. See ANSI
ampersands (&), 350
anchored characters, 249, 269–271
anonymous arrays, 382
anonymous hashes, 383
anonymous subroutines, 393–394, 478. See also closures
ANSI (American National Standards Institute), 723
APIs (application programming interfaces), 530
appending files, 316
application programming interfaces. See APIs
applications (Dancer), 808–830
applying
DBI (Database Independent Interface), 560–561
multiple placeholders, 572
PPM (Perl Program Manager), 439–441
quotes, 737
architecture, client/server, 521
ARCHIVE attribute, 600
arguments
command-line, passing at, 29
methods, passing, 466
@_, passing arguments, 352–368
anonymous, 382
elements
adding, 105
modifying, 120
files, slurping, 302
exists function, 124
push function, 105
reverse function, 125
unshift function, 106
indexes, checking values, 124
multidimensional, 99
naming, 92
output field separators, 93–94
range operators, 95
reversing, 125
rows, fetching, 564
times function, 645
variables, 92
arrow (±) operator, 382
assigning
input
numbers, 82
range operators, 95
scalar variables, 88
strings, 82
typeglobs, 412
associativity, operators, 149–151
atan2 function, 675
PrintError, 567
RaiseError, 567
autodecrement operators, 172–173
autoincrement operators, 172–173
AUTOLOAD function, 369–370, 484
automatic error handling, 567
autovivification, 297
awk command, 114
base classes, 484, 489. See also classes
BEGIN block, 371
BETWEEN operator, 736
BETWEEN statement, 743
binary operators, 147. See also operators
bind function, 676
binding
columns, 569
bind_param() method, 574
bin folders, 532
binmode function, 676
bitwise logical operators, 173–175
black boxes, 348
blank lines, formatting, 503
blessings, 454
BEGIN, 371
END, 371
Boolean context, 38
Boolean types, 153
bracket expressions (POSIX), 257–258
break statements, 204
build() method, 459
arithmetic, 168
bytecode, 2
C, 3
C++, 3
call-by-references, 353
caller function, 676
calling
functions, 473
processes, 629
system calls, 595–629. See also system calls
capturing
turning off, 281
case sensitivity, 86
databases, 529
SQL (Structured Query Language), 727
catching signals, 669
categories (Perl), 11
CategoryID key, 756
CGIs (Common Gateway Interfaces), 522, 585, 807
here documents, 67
modules, 711
characters
alphanumeric, 59
conversion, 69
delimiters, 220
metacharacters, 220, 245–296. See also metacharacters
sigils, 85
special, 53
whitespace, 249
char data type, 81
charts, flow, 162
checkers, data, 469
checking syntax, 46
chmod command, 43
chomp function, 43, 111–112, 308–309, 676
chop function, 111–112, 308–309, 677
Christianson, Tom, 449
chroot function, 677
base, 489
creating, 30
DBI (Database Independent Interface), 558–560
methods, 457. See also methods
parent, 489
UNIVERSAL, 484
clauses
FROM, 546
GROUP BY, 763
clients
MySQL, 532
close function, 677
closing filehandles, 299
Cobb, E. F. “Ted,” 723
code, threaded, 2
coercion, 148
adding, 554
binding, 569
dropping, 555
combining arrays and hashes, 104
command-lines
arguments, passing at, 29
mysql, 724
testing, 45
UNIX, 41
commands. See also functions
ALTER TABLE, 554
awk, 114
chmod, 43
CREATE TABLE statement, 541–543
date, 57
DROP DATABASE, 555
drop database, 761
EXTRACT, 769
interpreters, 45
LIKE, 530
ls, 599
net.exe, 639
NOT LIKE, 530
pwd, 55
QUIT, 529
show, 537
show database, 538
show databases, 728
SQL (Structured Query Language), 539–540, 725–728
system calls, 595
touch, 620
comments, 16
Common Gateway Interfaces. See CGIs
comparing operands, 154
compiler directives, 84. See also pragmas
complex data structures, 104
components of relational databases, 522–527
conditional operators, 156–157
conditionals, 21
operators, 22
configuring passwords (MySQL), 533
connect function, 677
connecting
databases, 521, 561–563. See also databases
connect() method, 560, 561–562
consoles
mysql, 724
MySQL, editing keys, 533
constants, 18, 408. See also literals
constructors, creating with objects, 458
quotes, 55
qw, 92
contents, viewing modules, 428–430
context
scripts, 38
control
controlling terminals, 630
conventions
databases, 529
SQL(Structured Query Language), 727
UNC (universal naming convention), 597
conversion characters, 69
converting strings/numbers, 148
Coordinated Universal Time (UTC), 643
c (complement) option, 289
CORE namespace, 215
cos function, 677
CPAN (Comprehensive Perl Archive Network), 6–7, 408
DBDs (database driver modules), 558
CPAN.pm module, 437
cpan shells, 438
CPU time, 643, 645. See also time
CREATE DATABASE command, 540–541
CREATE INDEX statement, 748
create() method, 459
CREATE TABLE statement, 541–543, 748, 751–753
cross joins, 756
crypt function, 677
-c switches, 46
customizing sorting, 122
resources, 811
data, packing/unpacking, 624–629
database driver modules. See DBDs
Database Independent Interface. See DBI
case sensitivity, 529
commands
ALTER TABLE command, 554
CREATE TABLE statement, 541–543
DROP DATABASE command, 555
interfaces, modules, 713
MySQL, 519–594. See also MySQL
naming, 529
schemas, 527
servers, 523
SQL (Structured Query Language). See also SQL
USE statements, 541
Databases Demystified, 520
data checkers, 469
Data Definition Language. See DDL
Data::Dumper module, 384
Data Manipulation Language. See DML
data structures, inodes, 599, 621
complex data structures, 104
SQL (Structured Query Language), 749–750
date and time functions, 766–770
date command, 57
DBDs (database driver modules), 556
DBI (Database Independent Interface), 556–578
dbmclose function, 678
dbmopen function, 678
DDL (Data Definition Language), 748–761
decision-making constructs, 183–187
declaring
forward declarations, 351
packages, 410
subroutines, 349
default databases, 534. See also databases
defined function, 89, 349, 678
defining
lexical variables, 83
methods, 456
delete function, 17, 18, 106–107, 135–136, 678
DELETE statement, 560, 747–748
deleting
directories, 607
duplicates
arrays, 121
entries, 580
delimiters, 220
global change, 232
substitution, modifying, 234
deposit() method, 448
dereferencing pointers, 379
descendants, 629
DESCRIBE command, 543, 730–731
DESTROY method, 476
diagnostics, 31
errors, 567
die function, 299–300, 665, 678
digits, metacharacters, 248
digraph operators, 100
directives, compilers, 84. See also pragmas
deleting, 607
UNIX, 609
DIRECTORY attribute, 600
disconnecting databases, 561–563
DISTINCT keyword, 733
division (/) operator, 166
DML (Data Manipulation Language), 731–748
documentation
online, 12
text, translating pod, 506–508
do function, 678
do() method, 579
d (delete) option, 288
dot (.) metacharacter, 251–252
double colons (::), 410
double data type, 81
do-while loops, 24
DROP DATABASE command, 555
drop database command, 761
DROP INDEX statement, 748
dropping
columns, 555
tables, 555
DROP TABLE statement, 748, 761
dump function, 679
duplicates
arrays, removing, 121
hashes, removing, 103–104, 129
each function, 18, 128–129, 679
editing, 85
keys, 533
editors
third-party, 34
types of, 35
effective guids. See guids
effective uids. See euids
elements
arrays
adding, 105
modifying, 120
e modifier, 238
END block, 371
entries
adding, 579
deleting, 580
updating, 581
environments, processes, 632–633
eq operator, 159
equal to (=) operator, 736, 737
error messages
HTTP (Hypertext Transfer Protocol), 585
SQL (Structured Query Language), 567–570
errors
spelling, 85
syntax, 2
escape sequences, 57
-e switches, 45
euids (effective uids), 631
evaluating expressions, 147, 150, 238
exclusive or (xor) operator, 164
execute() method, 560
execute statement, 571
executing
hashes, 566
last statements, 357
loops, 204
rows, 564
SQL (Structured Query Language) statements, 724–725
exists function, 18, 124, 136–137, 679
exp function, 679
exponentiation (**) operator, 166
Exporter module, 489
Exporter.pm module, 424–426, 435
expressions, 147
regular, 28, 112, 219–244. See also regular expressions
extensions
languages, modules, 715
.LNK, 617
passwords, 641
Win32::NetAdmin, 640
EXTRACT command, 769
fat comma operators, 100
fcntl function, 680
feature pragma, 74
features, state, 363
fetch_array() method, 564
fetching
values, 569
map function, creating, 303
output field separators, 93–94
File::Find module, 603
filehandles. See also files
closing, 299
references, typeglobs, 402–404
special variables, 705
STDERR, 402
STDOUT, 402
underscore, 622
fileno function, 680
files, 3, 26–27, 297–346, 597–612
/etc/passwd, 638
House.pm, 465
appending, 316
pattern matching, 241
permissions, 605, 606, 612–616
reading
opening, 298
renaming, 620
scripts, 16
slurping
arrays, 302
into strings with read() function, 304
Win32 binary, 315
File::spec module, 598
file systems, ReFS (Resilient File System), 597
find() function, 603
finish() method, 561
flags, modifiers, 70
float data type, 81
flow
charts, 162
loops, 204
folders, bin, 532
foreach loops, 24, 97–98, 130, 198–202
foreign keys, 755
forks, 649
format function, 680
formatting
date and time, 767
fields, map function, 303
instructions, 503
lists from scalar variables, 114–118
MySQL passwords, 533
objects with constructors, 458
OOP (Object-Oriented Perl), 450–451, 464–472
printing
sprintf function, 73
processes
SQL (Structured Query Language) statements, 528, 725
formline function, 680
forward declarations, 351
frameworks, Dancer, 585–590. See also Dancer
free-form languages, 16
FROM clause, 546
full joins, 756
functions, 25–26, 347, 675–704. See also subroutines
abs, 675
accept, 675
exists function, 124
push function, 105
reverse function, 125
unshift function, 106
atan2, 675
bind, 676
binmode, 676
caller, 676
calling, 473
chroot, 677
close, 677
connect, 677
context, 38
cos, 677
crypt, 677
d, 679
dbmclose, 678
dbmopen, 678
do, 678
dump, 679
exp, 679
fcntl, 680
fileno, 680
File::spec module, 598
find(), 603
format, 680
formline, 680
getgrent, 681
getgrgid, 681
getgrnam, 681
gethostbyaddr, 681
gethostbyname, 681
gethostent, 681
getnetbyaddr, 681
getnetbyname, 682
getnetent, 682
getpeername, 682
getpgrp, 682
getprotobyname, 682
getprotobynumber, 683
getprotoent, 683
getservbyname, 683
getservbyport, 684
getservent, 684
getsockname, 684
getsockopt, 684
goto, 684
grep, 685
map function, 129
hex, 685
import, 685
index, 685
int, 685
ioctl, 685
join, 685
key, 685
keys, 18
last, 686
lc, 686
lcfirst, 686
length, 686
listen, 686
local, 686
lock, 686
log, 687
m, 687
msgctl, 687
msgget, 688
msgrcv, 688
msgsnd, 688
my, 688
new, 688
next, 688
no, 688
not, 688
oct, 689
ord, 689
our, 689
package, 690
pgrp, 636
pipe, 690
pos, 691
prototype, 691
q, 691
qq, 691
quotemeta, 691
qw, 691
qx, 691
read, 692
readlink, 619
readlline, 692
readllink, 692
readpipe, 692
recv, 692
redo, 692
remdir, 607
reset, 693
reverse, 693
rindex, 693
rmdir, 693
s, 694
scalar, 694
semctl, 694
semget, 694
semop, 695
send, 695
setsockopt, 695
shmctl, 695
shmget, 695
shmread, 696
shmwrite, 696
shutdown, 696
sin, 696
socket, 696
socketpair, 696
split, 697
SQL (Structured Query Language), 761–770
string, 765
sqrt, 697
study, 698
sub, 698
substr, 699
sysopen, 699
sysread, 699
syssek, 699
syswrite, 700
tie, 701
tied, 701
time, 702
topic variable ($_), 300
truncate, 702
uc, 702
ucfirst, 702
untie, 703
vec, 704
wanted(), 603
write, 704
y, 704
funny characters. See sigils
generating random numbers, 168
ge operator, 155
getgrent function, 681
getgrgid function, 681
getgrnam function, 681
gethostbyaddr function, 681
gethostbyname function, 681
gethostent function, 681
getnetbyaddr function, 681
getnetbyname function, 682
getnetent function, 682
getpeername function, 682
getpgrp function, 682
getppid function, 635–636, 682
getpriority function, 637, 682
getprotobyname function, 682
getprotobynumber function, 683
getprotoent function, 683
getservbyname function, 683
getservbyport function, 684
getservent function, 684
getsockname function, 684
getsockopt function, 684
GET strings, 818
getters, 450
global change, 232
global match modifiers, 229
global special variables, 706–708
global variables, 349
GMT (Greenwich Mean Time), 643
Goldberg, Ian, 168
goto function, 684
grant tables, 536
graphical user tools (MySQL), 534–537
greater than (>) operator, 736, 739
greater than or equal (>=) operator, 736
greedy metacharacters, 261, 267–268, 280
Greenwich Mean Time. See GMT
GROUP BY clause, 763
groups
processes, 630
gt operator, 155
guids (effective guids), 631
handlers, verbs, 812
handles, 558
handling
hard/soft links, files, 616–620
anonymous, 383
duplicates, removing, 103–104, 129
map function, 129
hash of, 389
indexes, 100
references, 603
rows, fetching, 566
subroutines, passing, 355
HEAD requests, 812
hex function, 685
HIDDEN attribute, 600
House.pm file, 465
HTTP (Hypertext Transfer Protocol) error messages, 585
IBM, SQL. See SQL
identifiers, 408
identifying versions, 9
IDEs (Integrated Development Environments), 34
if/else constructs, 156, 184–185
if/else/else constructs, 185–186
if/else/else statements, 22
if/else statements, 21
if statements, 21
import function, 685
importing
methods, creating, 435
Importing module, 426
indexes, 91, 526. See also lists
arrays, checking values, 124
hashes, 100
resource representation, 826
index function, 685
inheritance, 449, 450, 484–501
single, 489
init() method, 459
inline subroutines, 124
inner joins, 756
input
scalar variables, assigning, 307–308
input from files, reading, 90–91
input/output. See I/O
INSERT statement, 544–546, 560
installing
DBDs (database driver modules), 556–558
modules
Perlbrew, 802
MySQL, 531
instance methods, 457
invoking, 458
instance variables, 466
instantiation, 457
instructions, formatting, 503
int data type, 81
Integrated Development Environments. See IDEs
interaction (user), invoking methods, 462–464
interfaces, 595–674. See also navigating
APIs (application programming interfaces), 530
CGIs (Common Gateway Interfaces), 522, 585, 807
databases, modules, 713
DBI (Database Independent Interface), 556–578
here documents, 67
MySQL Query Browser, 534
Query Browser (MySQL), 725
interpolative context, 38
interpreted languages, overview of, 2
interpreters
commands, 45
pod, 506
int function, 685
invoking
instance methods, 458
I/O (input/output), printing, 49–50
ioctl function, 685
IS [NOT] NULL operator, 736
Java, 3
JavaScript, 2
key function, 685
keys
CategoryID, 756
editing, 533
foreign, 755
hashes, 100, 130. See also hashes
adding, 555
references, hashes, 603
keys function, 18
keywords, 453
DISTINCT, 733
SQL (Structured Query Language), 727
labels, 204
languages, 2
DDL (Data Definition Language), 748–761
DML (Data Manipulation Language), 731–748
extensions, modules, 715
free-form, 16
SEQUEL (Structured English Query Language), 723
SQL (Structured Query Language). See SQL
last function, 686
last statements, 204
last statements, executing, 357
lcfirst function, 686
lc function, 686
left joins, 756
length function, 686
le operator, 155
less than (<) operator, 736, 739
less than or equal (<=) operator, 736
lexagraphical ordering, 155
lexical variables, defining, 83
lib pragma, 420
libraries, 31
standard Perl 5.18 library, 417–436
LIKE command, 530
limiting number of lines, 734
linebreaks
lines, limiting number of, 734
links
symbolic, 617
Linux
PPM (Perl Program Manager), 558
system calls, 595
list context, 366
listen function, 686
arrays, 385
scalar variables, creating, 114–118
separators, 93
unordered, 99–104. See also hashes
literals, 18
.LNK extensions, 617
loading files, hashes, 306–307
locales, modules, 714
local function, 686
localhost, 523
local operator, 358
local Perl, 801
localtime() function, 40, 43, 88
local to block special variables, 705
lock function, 686
log function, 687
logical word operators, 164–166
login information, 635
look around assertions, 282–285
looping
loops, 23
do-while, 24
foreach, 24, 97–98, 130, 198–202
ls command, 599
lstat function, 600, 621–623, 687
lt operator, 155
main package, 82
main packages, 348
management
RDBMS (relational database management systems), 521
SAM (Security Accounts Manager), 639
man pages, 10
manual error handling, 567
map function, 119–121, 129, 303, 687
masks, system, 616
matching
modifiers, 226
math modules, 713
HTTP (Hypertext Transfer Protocol), 585
SQL (Structured Query Language), 567–570
alternative characters, 249
anchored characters, 249, 269–271
digits, 248
look around assertions, 282–285
miscellaneous characters, 250
remembered characters, 250, 276–279
repeated characters, 249, 261–286
single characters, 248, 251–258
s modifier, 252
whitespace characters, 249, 258–261
methods, 347, 448, 450. See also subroutines
arguments, passing, 466
bind_param(), 574
build(), 459
constructors, 459
create(), 459
DBI (Database Independent Interface), 558–560
defining, 456
deposit(), 448
DESTROY, 476
do(), 579
execute(), 560
fetch_array(), 564
finish(), 561
importing, creating, 435
init(), 459
instance, 457
invoking, 458
new(), 456
prepare(), 560
set_color(), 460
set_price(), 460
shoot(), 473
speak, 457
startup(), 459
types of, 457
view(), 448
withdraw(), 448
m function, 687
miscellaneous characters, 250
models, client/server, 521
modes, 606
modifiers
e, 238
flags, 70
matching, 226
s, 252
substitution, 235
tr, 287
x, 231
modifying
elements, arrays, 120
expressions, 221
global change, 232
substitution delimiters, 234
CGIs (Common Gateway Interfaces), 711
CPAN (Comprehensive Perl Archive Network), 436–441
CPAN.pm, 437
Dancer. See Dancer
database interfaces, 713
Data::Dumper, 384
error handling, 711
Exporter, 489
File::Find, 603
File::spec, 598
Importing, 426
language extensions, 715
locales, 714
math, 713
OOP (Object-Oriented Perl), 464–472, 714
programming, 710
retrieving, 438
searching, 798
SomeModule.pm, 426
standard Perl 5.18 library, 417–436
terminals, 714
text processing, 712
time, 714
Time::Piece, 644
Win32::NetAdmin, 640
Windows, 806
modulo (%) operator, 166
Moo (2/3 Moose), 795
MS-DOS command line, 605. See also Windows
msgctl function, 687
msgget function, 688
msgrcv function, 688
msgsnd function, 688
multidimensional arrays, 99
multiple inheritance, 489, 496–499
multiple placeholders, 572
multiple records, adding, 573
multiplication (*) operator, 166
my function, 688
ALTER TABLE command, 554
CREATE DATABASE command, 540–541
CREATE TABLE statement, 541–543
DROP DATABASE command, 555
consoles, editing keys, 533
databases
DBI (Database Independent Interface), 556–578
documentation, 539
EXTRACT command, 769
installing, 531
privileges, 536
client/server databases, 521–522
selecting, USE statements, 541
tables
terminology, 531
mysql command-line, 724
named parameters, 469
namespaces, 82
CORE, 215
packages, 412
variables, 82
naming
arrays, 92
case sensitivity, 86
databases, 529
modules, 408
scripts, 35
UNC (universal naming convention), 597
naming conventions, 85–86, 727
negative look behinds, 282
ne operator, 159
nested data structures, 383–393
nested loops and labels, 208–210
net.exe command, 639
new function, 688
newlines
s modifier, 252
new() method, 456
next function, 688
NICEVALUE value, 638
no function, 688
northwind databases, 524. See also databases; relational databases
not equal to (<>) operator, 736, 737
not function, 688
NOT LIKE command, 530
NOT NULL, defining as, 543
NOT operator, 736
numbers, 19
assigning, 82
inodes, 600
random, generating, 168
strings, converting, 148
numeric equality operators, 157–158
numeric values, relational operators and, 154
Object-Oriented Perl. See OOP
constructors, creating with, 458
oct function, 689
online documentation, 12
OOP (Object-Oriented Perl), 447–518
closures
modules, 714
objects
applying from Perl libraries, 508–512
opening
appending, 316
operands, 147
comparing, 154
operating systems, interfaces, 658–664
operators, 20, 145–180. See also specific operators
BETWEEN, 736
arrow (±), 382
backslash (), 379
Boolean types, 153
cmp, 132
conditionals, 22
digraph, 100
expressions, evaluating, 147, 150
fat comma, 100
greater than or equal (>=), 736
IS [NOT] NULL, 736
less than or equal (<=), 736
local, 358
NOT, 736
g modifier, 229
i modifier, 230
pattern binding with substitution, 232–242
s operator, 232
x modifier, 231
s, 232
SQL (Structured Query Language), 736
XOR, 736
Oppel, Andy, 520
options
c (complement), 289
d (delete), 288
s (squeeze), 290
Oracle, 723
ordered lists, 92. See also lists
ord function, 689
our function, 689
output
of filters to files, sending to, 329–330
output field separators, 93–94
package function, 690
_ _PACKAGE_ _ literal, 64
packages, 82–85, 408–411, 453. See also classes
declaring, 410
main, 348
namespaces, 412
pages, man, 10
parameters
instance methods, passing, 467–469
named, 469
parent classes, 484, 489. See also classes
parentheses (()), 92
parent methods, overriding, 499–501
parent process ids. See ppids
passing
command-line, 29
methods, 466
parameters, instance methods, 467–469
references, 394
passwords
extensions, 641
getpwent function, 641
MySQL, 533
PATHEXT environment variables, 41
pathnames, 417
pattern binding operators, 222–223
patterns
alternation, 273
Perl
categories, 11
local, 801
Strawberry, 806
users of, 3
versions, 4
PERL5LIB environment variable, 419–420
permissions, files, 605, 606, 612–616
pgids (process group ids), 636
pgrp function, 636
pids (positive integers), 629
pipe function, 690
placeholders
multiple, 572
multiple records, adding, 573
pod (Plain Old Documentation), 501–508
pointers, 29–30, 377, 379. See also references
pop function, 17, 109–110, 690
Portable Operating System Interface. See POSIX
pos function, 691
positive integers. See pids
positive look behinds, 282
POSIX (Portable Operating System Interface), 257–258
ppids (parent process ids), 635–636
PPM (Perl Program Manager), 408
DBDs (database driver modules), installing, 556–558
Linux, 558
pragmas, 74–78, 417, 422, 708–710. See also modules
feature, 74
lib, 420
strict, 77–78, 84, 361–364, 400
use locale, 122
warnings, 85
precedence, operators, 149–151, 164
predefined variables, 18
prepare() method, 560
adding, 555
PrintError attribute, 567
print function, 43, 50, 51–52, 691
feature, 74
sprintf function, 73
words, 51
print statements, 44
priorities of processes, 637–638
private objects, 448. See also objects
privileges (MySQL), 536
procedures, 347. See also subroutines
calling, 629
groups, 630
servers, 523
signals, sending, 670
text modules, 712
process group ids. See pgids
programming modules, 710
programs
methods, calling, 473
Moose. See Moose
OOP (Object-Oriented Perl), 451–454
set user ID, 631
properties, 448
prototype function, 691
pseudo classes, SUPER, 499–501
pseudo-random numbers, 168
public objects, 448. See also objects
PUT requests, 812
pwd command, 55
Python, 2
q function, 691
qq function, 691
quantifiers, 261
queries, 521, 723. See also databases; MySQL; SQL
MySQL Query Browser, 534
SQL (Structured Query Language), 725–728
Query Browser (MySQL), 725
question mark (?), 663
QUIT command, 529
quotemeta function, 691
quotes, 19
applying, 737
backquotes, 55
constructs, 55
rules, 57
single, 54
qw construct, 92
qw function, 691
qx function, 691
RaiseError attribute, 567
random numbers, generating, 168
RDBMS (relational database management systems), 521, 522, 530. See also MySQL
read function, 692
files
readlink function, 619
readlline function, 692
readllink function, 692
READONLY attribute, 600
readpipe function, 692
multiple, adding, 573
recv function, 692
redo function, 692
call-by-references, 353
filehandles, typeglobs, 402–404
hashes, 603
memory addresses, 454
nested data structures, 383–393
strict pragma, 400
ReFS (Resilient File System), 597
regular expressions, 28, 112, 219–244
metacharacters. See metacharacters
g modifier, 229
i modifier, 230
pattern binding with substitution, 232–242
s operator, 232
x modifier, 231
relational database management systems. See RDBMS
relational databases, 520–530, 723
client/server databases, 521–522
relations, 756
remdir function, 607
remembered characters, 250, 276–279
removing
directories, 607
duplicates
arrays, 121
renaming files, 620
repeated characters, 249
repeating patterns, matching, 261–286
replacing elements, arrays, 106–107
representation, index resources, 826
requests, 723. See also queries
GET, 811
HEAD, 812
PUT, 812
reset function, 693
Resilient File System. See ReFS
resources, 825
Dancer, 811
index representation, 826
results
sorting, ORDER BY clauses, 744
number of lines, limiting, 734
SQL (Structured Query Language), 728
retrieving modules, 438
returning
return values, 647. See also values
reversing
arrays, 125
hashes, sorting, 131
rindex function, 693
rmdir function, 693
roles, multiple inheritance, 496–499
roots, 631
routines, 347. See also subroutines
rows, 526
rules, quotes, 57
runtime
modules as, 421
SAM (Security Accounts Manager), 639
saving
formatting, sprintf function, 73
scalar function, 694
scalar variables, 17, 29, 81–82, 87–91, 92
Schwartz, Randal, 2
context, 38
files, 16
Moose, 776
naming, 35
system calls, 595
text editors, selecting, 34–35
searching
modules, 798
Security Accounts Manager. See SAM
SELECT command, 546–547, 731–745
SELECT DISTINCT statement, 733
selecting
columns, 732
by columns, 546
databases, USE statements, 541
hashes, 566
rows, 564
semctl function, 694
semget function, 694
semop function, 695
send function, 695
sending
output of filters to files, 329–330
signals, processes, 670
values to subroutines, 352
separate resources, 825
separators
lists, 93
SEQUEL (Structured English Query Language), 723
sequences
escape, 57
operators, associativity, 149–151
subroutines. See subroutines
server databases, 521–522, 523
set_color() method, 460
set_price() method, 460
setpriority function, 637–638, 695
setsockopt function, 695
setters, 450
set user ID programs, 631
s function, 694
shebang lines, 41
shells
cpan, 438
CPAN (Comprehensive Perl Archive Network), 442
metacharacters, globbing, 663–664
shift function, 17, 110–111, 695
shmctl function, 695
shmget function, 695
shmread function, 696
shmwrite function, 696
shoot() method, 473
short-circuit operators, 162–164
shortcuts, 617
show command, 537
show database command, 538
show databases command, 728
shutdown function, 696
sigils, 85
signals
catching, 669
processes, sending, 670
simple statements, 188–190, 221–225
sin function, 696
single characters, metacharacters, 248, 251–258
single inheritance, 489
single statements, 182
slicing
slurping files
into arrays, 302
into strings with read() function, 304
s modifier, 252
socket function, 696
socketpair function, 696
SomeModule.pm module, 426
s operator, 232
s (squeeze) option, 290
sort function, 17, 121–124, 132, 697
sorting
results, ORDER BY clauses, 744
space ship (<=>) operators, 121, 130, 158
speak method, 457
special characters, 53
special hashes, 137–139. See also hashes
%INC hash, 139
%SIG hash, 138
special process variables, 635
$&, 240
filehandles, 705
local to block, 705
spelling errors, 85
splice function, 17, 107–109, 697
SQL (Structured Query Language), 520. See also MySQL
CREATE DATABASE command, 540–541
databases
DDL. See DDL
DML. See DML
string, 765
operators, 736
overview of, 723
standards, 724
statements
formatting, 725
sqrt function, 697
square brackets ([]), 100, 663
standard Perl 5.18 library, 417–436
standards
ANSI (American National Standards Institute), 723
SQL (Structured Query Language), 724
startup() method, 459
state feature, 363
statements, 147
BETWEEN, 743
break, 204
CREATE INDEX, 748
CREATE TABLE, 541–543, 748, 751–753
DROP INDEX, 748
execute, 571
if, 21
if/else, 21
if/else/else, 22
print, 44
SELECT DISTINCT, 733
single, 182
SQL (Structured Query Language), 528
formatting, 725
UPDATE, 560
USE, 541
stat function, 599, 621–623, 698
stat structure, 342
STDIN filehandle, 49–50, 307–333, 402
strings, 19
assigning, 82
equality operators, 159
files, slurping, 304
functions, 765
GET, 818
numbers, converting, 148
relational operators, 155
Structured English Query Language. See SEQUEL
Structured Query Language. See SQL
structures
stat, 342
study function, 698
sub $AUTOLOAD function, 486–489
sub function, 698
subprograms, 347, 409–411. See also subroutines
subroutines, 25–26, 347–375, 408
anonymous, 478. See also closures
declaring, 349
inline, 124
substitution, 232
delimiters, modifying, 234
modifiers, 235
substr function, 699
subtraction (-) operator, 166
superclasses, 489
-d, 718
-c, 46
-e, 45
symbolic links, 617
symbolic references, 378, 398–400
symbols, 408
exporting, 425
errors, 2
shebang lines, 41
syscall function, 658–659, 699
sysopen function, 699
sysread function, 699
syssek function, 699
SYSTEM attribute, 600
system masks, 616
syswrite function, 700
databases, 520. See also databases; MySQL
dropping, 555
grant, 536
joins, 757
SQL (Structured Query Language)
templates
pack/unpack functions, 624–629
terminals
controlling, 630
modules, 714
terminating SQL statements, 529, 726
terminology
MySQL, 531
OOP (Object-Oriented Perl), 449–450
ternary conditional operators, 156–157
ternary operators, 147. See also operators
testing
command-lines, 45
comments. See comments
processes, modules, 712
third-party editors, 34
threaded code, 2
tied function, 701
tie function, 701
data and time functions, 766–770
modules, 714
time function, 702
Time::Piece module, 644
tools
dancer, 808
topic variable ($_) function, 300
touch command, 620
translating pod documentation into text, 506–508
tr function, 222
troubleshooting script errors, 43–44. See also error handling
truncate function, 702
turning off
capturing, 281
greedy metacharacters, 267–268, 280
typeglobs
assigning, 412
types
Boolean, 153
of context, 38
data, 81–87. See also data types
of editors, 35
of methods, 457
of references, 378
of time values, 643
typos, 85
ucfirst function, 702
uc function, 702
unary operators, 147. See also operators
UNC (universal naming convention), 597
underscore filehandle, 622
Unicode, metacharacters, 290–294
Uniform Resource Locators. See URLs
UNIVERSAL class, 484
universal naming convention. See UNC
UNIX, 2
command-lines, 41
commands. See also commands
ls, 599
touch, 620
directories, 609
creating, 605
files
ownership/permissions, 612
renaming, 620
functions
chmod, 614
chown, 615
link, 618
readlink, 619
symlink, 619
umask, 616
unlink, 618
system calls, 595
times function, 646
unordered lists, 99–104. See also hashes
unshift function, 17, 106, 703
untie function, 703
UPDATE command, 553–554, 746–747
UPDATE statement, 560
updating entries, 581
URLs (Uniform Resource Locators), 811
use locale pragma, 122
user-defined filehandles, 297–307
user interaction, invoking methods, 462–464
USE statement, 541
UTC (Coordinated Universal Time), 643
ASCII, 159
fetching, 569
checking arrays, 124
logical operators, 162
numeric, relational operators and, 154
subroutines, sending, 352
values function, 18, 126–128, 703
$&, 240
arrays, 92
error diagnostics, 567
global, 349
hashes. See hashes
instance, 466
namespaces, 82
PATHEXT environment, 41
predefined, 18
scalar, 17, 29, 81–82, 87–91, 92
special
filehandles, 705
local to block, 705
special process, 635
vec function, 704
verbs (Dancer), 811
versions
identifying, 9
MySQL, 530
Perl, 4
viewing module contents, 428–430
view() method, 448
visibility, 409. See also scope
void context, 38
Wagner, David, 168
WAMP, 531
wantarray function, 367–368, 704
wanted() function, 603
warnings pragma, 85
Web servers, 522. See also servers
WHICH value, 638
whitespace
characters, 249
WHO value, 638
wildcards
_ (underscore), 743
Win32
binary files, 315
password extensions, 641
Win32::File module, 600–602, 613
Win32::NetAdmin module, 640
Win32::Process module, 656–657
Win32::Spawn function, 655–656
directories
files
ownership/permissions, 612–616
renaming, 620
modules, 806
processes, environments, 632–633
times function, 646
withdraw() method, 448
words. See also text
logical word operators, 164–166
printing, 51
reserved, 529
write function, 704
writing, 313–314. See also reading
XAMPP, 531
x modifier, 231
x= operator, 152
XOR operator, 736
xor (exclusive or) operator, 164
y function, 704
zeroes, 631
3.22.74.160