-T switch (taint mode), Perl script, 112
table, database
add_table.pl, 35
altering, 32
alternating color, 191
column, 4–5
creating, 30–32
definition, 27
deleting, 33
name, 4
program example, 33–34
row, 4
taint switch
catalog.cgi, 309
create_test.cgi, 130
importance of, 111–113
index.cgi, 185, 255
item_details.cgi, 312
phonebook.cgi, 117
score_test.cgi, 147
signup.cgi, 247
take_test.cgi, 141
test_chooser.cgi, 138–139
view_all.cgi, 188
view_item.cgi, 195
take_test.cgi
cookie function, 143
fisher_yates_shuffle subroutine, 145
Get_Question function, 143–144
Get_Test_Config function, 142
here document, 144–146
hidden variable, 144
param function, 142
program listing, 173–175
qq block, 145
strict module, 142
taint switch, 141
warnings switch, 141
Task Scheduler, 323
telephone number lookup program, command-line
DBI module, 356
die function, 356
disconnect function, 359
here document, 357
name validation, 357
overview, 356
prepare function, 358
quote function, 357
SELECT statement, 357
shift function, 356
strict module, 356
template
admin_album_end.tmpl, 471
admin_album_row.tmpl, 471
admin_album_top.tmpl, 471
admin_footer.tmpl, 472
admin_list_row.tmpl, 472
admin_main.tmpl, 472–474
album_end.tmpl, 474
album_row.tmpl, 474
album_top.tmpl, 475
cart_total.tmpl (shopping cart program), 419
catalog_footer.tmpl (shopping cart program), 419
catalog_header.tmpl (shopping cart program), 420
footer.tmpl, 274, 475
header.tmpl, 272–273, 475–476
header.tmpl (shopping cart program), 420–421
HTML::Template module, 326
index.tmpl, 273–274
invoice_body.tmpl (shopping cart program), 421–422
invoice_footer.tmpl (shopping cart program), 422
invoice_header.tmpl (shopping cart program), 422–423
item_details.tmpl (shopping cart program), 423–424
list_end.tmpl, 476
list_row.tmpl, 477
list_top.tmpl, 477
photo_footer.tmpl, 477
photo_main.tmpl, 478–479
Template::Toolkit module, 326
template directory, 195
template file, 186
template name, 195
template_3.html, report_graphic.pl, 336–337
template_2.html, report_html.pl, 331
Template::Toolkit module, 326
template_2.txt, report_html.pl, 330–331
ternary operator, 191
test_chooser.cgi
fetchrow_hashref function, 140
Get_Test_List function, 140
header function, 140
here document, 140–141
program listing, 175–176
strict module, 139
taint switch, 138–139
use statement, 139
warnings switch, 138–139
test_config table, 22
testing, defined compared to truth, 376
text type, <input> tag, 107
<textarea> tag, 108
text-entry fields, creating, graphical phonebook application, 370
3NF. See Third Normal Form
Third Normal Form (3NF), normalization, 11
three-dimensional graphing, 332
tie function, signup.cgi, 249
tied hashes
CLEAR, 246
DELETE, 246
DESTROY, 246
EXISTS, 246
FETCH, 246
FIRSTKEY, 246
STORE, 246
tie function, 249
Tie::Hash library, BasicSession.pm, 256, 258
TIEHASH method, BasicSession.pm, 257
Tie::StdHash class, BasicSession.pm, 256
TIME data type, 5
TIMESTAMP data type, 5
Tk libraries, 79–80
Tk module, graphical phonebook application, 359
tk_Add_Record_Dialog function, 91
tk_Choose_Dialog window, 89
tk_Edit_or_Delete function, 89
TMPL file handle
BasicSession.pm, 266
SmallAuction.pm, 206
<tmpl_loop> tag, report_html.pl, 331
<tmpl_var> tag, report_html.pl, 331
$top_win, 83, 93
totalsession parameter, report_html.pl, 329
totalusers template variable, report_html.pl, 328
tracking user between pages, 398
transaction.pl, program listing, 283
transactions
ALTER TABLE command, 282
AutoCommit parameter, 277
BEGIN command, 282
BEGIN statement, 276–278
COMMIT statement, 276, 278
CREATE INDEX command, 282
DROP DATABASE command, 282
DROP TABLE command, 282
eval block, 279–280
graphical phonebook application, 379
importance of, 275–276
LOCK TABLES command, 282
Perl DBI, 277
program listing, 283
pubslist table, 279
RaisError parameter, 279, 281
RENAME TABLE command, 282
ROLLBACK statement, 276, 279
transaction.pl, 279–281
TRUNCATE command, 282
trinary operator, 122, 191, 260
truncation, data types, 5
type attribute, <input> tag, 107
Type parameter, report_html.pl, 330
types of data
BIGINT, 5
BLOB, 5, 29
CHAR, 5, 29
DATE, 5, 29
DATETIME, 5
DOUBLE, 5
FLOAT, 5
INTEGER, 5, 29
REAL, 29
SMALLINT, 5, 29
TIME, 5, 29
TIMESTAMP, 5, 29
VARCHAR, 5, 29