octal value, 57, 305
$old_isbn variable, 72
online auction application
auction table, 182
Bidding_Open subroutine, 199
bids table, 183–184, 214
bind_columns function, 188, 190, 193
CGI module, 185, 188, 196
Check_Data function, 199, 201
checking for text data, 202–203
closed_tmpl template, 199
connect method, 186, 189, 197
CREATE TABLE, 213
CURRENCY type, 203
database tables, 182–184
Date_Cmp function, 205
Date::Manip module, 205
DBI module, 185, 188, 196
disconnect function, 186
donor table, 182–183
double quote (qq) function, 211
DROP statement, 214
drop-down list, 184
Drop_Down_Item_List function, 186, 208
Drop_Down_List function, 189, 199
error key, 201
execute method, 208
Exporter module, 205
fetch function, 190
fetchrow_array function, 190, 212
filter key, 201
Get_Item_Detail function, 197, 211
Get_Item_Table function, 189–190, 213
header function, 186, 190, 198
@INC array, 185, 196
index.cgi page, 184
index.tmpl, 187
Is_Bidding_Open function, 207–208
item table, 183, 214
join function, 199
lib method, 185, 188
MAX function, 212
namespace, 204
overview, 181
page, 187, 195
Page_Header function, 186, 190, 198, 206
Page_Print function, 195
param function, 196
PATH environment variable, 186, 188–189, 197
PHONE type, 203
prepare method, 208
Print_Page subroutine, 187, 190, 200, 205, 207
push function, 212
quote word (qw) function, 210
required key, 201
SELECT statement, 208
shift function, 206, 211
SmallAuction module, 185, 188, 196
sprintf function, 191, 198
strict module, 185, 196
Submit_Bit function, 200
subselect, 213–214
substr function, 191
taint switch, 185, 188, 195
template file, 186
TMPL file handle, 206
UnixDate function, 205
value key, 201
warnings switch, 185, 188, 195
online catalog system
books database, 302
_callback function, 306–307
Catalog package, 301–302
catalog.cgi, 310
Catalog::input variable, 304, 306
<catalog_item> XML tag, 305
CGI module, 309, 312
DBI module, 301
die function, 304
disconnect, 305
execute method, 303
GET, HTML, 312
_get_image subroutine, 304, 306
Get_Product_Data function, 303, 312
Get_Products_List method, 302, 309
handle method, 302
header function, 309, 312
here document, 310, 314
HTML::LinkExtor module, 301, 306
item_details.cgi program, 310
LWP::Simple module, 301
LWP::Simple::get($url), 306
mysql driver name, 302
namespace, 301, 312
output, 308
overview, 308, 311
param function, 312
parse method, 306
product page, 311
regular expression, 305
results method, 309
SOAP::Lite module, 302, 309, 312
SOAP::Transport::HTTP module, 301
strict module, 301, 309, 312
switch.perlguy.net server name, 302
taint switch, 309, 312
warnings switch, 301, 309, 312
XML document reference, 313
XMLin function, 313
XML::Simple module, 312
online photo album application
Add_Album subroutine, 429
album table, 446
BasicSession module, 442
CGI module, 442
connect function, 429
DBI module, 427, 442
die function, 429
dim function, 427
fetch function, 453
fetchrow_array function, 449
fetchrow_hashref function, 446, 452
File::Copy module, 427
File::Find module, 427
find function, 429
Get_Details subroutine, 450
get_image function, 447
get_image subroutine, 453
Get_Photo_List subroutine, 448, 450
Get_Session function, 442
image metadata, writing to JPEG file, 429
image_info function, 427
Image::Info module, 427
Imager module, 427
lib module, 442
List_Albums subroutine, 444
Make_Sizes subroutine, 443–444
mkdir function, 429
output, 438–441, 455–456
overview, 425–426, 454
photo album files, absolute path, 428
photo table, 446
prepare method, 448
Print_Page subroutine, 445, 448
SELECT statement, 446, 451
shift function, 429, 450
Show_Album subroutine, 444, 446, 458–459
Show_Photo subroutine, 443
strict module, 427, 442
taint switch, 427
unshift function, 450
UPDATE statement, 457
Update_Data subroutine, 457
Wanted subroutine, 429
warning switch, 427
online quiz program
Add_Question function, 135, 162
admin.html, 128
answers table, 126
Content-Type header, 131
cookie function, 143, 147
correct input box, 134
create_test.html, 128–129
DBI module, 151
execute method, 152, 156, 162
Exporter module, 151
fetch method, 154
fetchall_arrayref method, 157
fetchrow_hashref function, 140, 159
fisher_yates_shuffle subroutine, 145, 160
Get_Question function, 143–144
Get_Test_Config function, 134, 142, 148, 161
Get_Test_List function, 140, 152
header function, 131, 135, 140, 148
here document, 132, 136–138, 140–141, 144–146, 148
hidden variable, 144
index.html, 127
last function, 158
map function, 157
my variable, 131
MySQL database, 126
mysql_insertid function, 131, 163
namespace, 151
No_More_Questions subroutine, 158, 161
overview, 126–127
param function, 142, 148
prepare method, 162
program listing, 168–180
qq block, 136, 145
Qtext input box, 134
questions table, 126
qw command, 134
running, 150
Score_Test function, 148
Score_Test subroutine, 152–155
score_test.cgi program, printing link to, 161
shift function, 155–156
split statement, 153
sprintf function, 155
SQL statement execution, 159
$sth_getlist handle, 152
strict module, 130, 133, 139, 142, 147
taint switch, 130, 138–139, 141, 147
test_config table, 126
use statement, 133, 139
warnings switch, 138–139, 141, 147
online user registration program
BasicSession module, 255
BasicSession.pm module, 248, 251
CGI module, 248, 255–256
Check_Fields function, 249, 252
CLEAR method, 257
cookie function, 264
DBI module, 256
DELETE method, 257, 260
DESTROY method, 257, 263
EXISTS method, 257, 259
Exporter module, 257
FETCH method, 257, 262
FIRSTKEY method, 257, 261–262
Get_Session function, 248
Get_Session subroutine, 263, 265
header function, 265
index.cgi, 255–256
index.tmpl, 254–255
INSERT statement, 258
namespace, 256
NEXTKEY method, 257, 261–262
our declaration, 256
overview, 246–247
param function, 248
Print_Page function, 256
Print_Page subroutine, 265
STORE method, 257
strict module, 247, 257
taint switch, 247, 255
tie function, 249
Tie::Hash library, 256, 258
TIEHASH method, 257
Tie::StdHash class, 256
TMPL file handle, 266
UPDATE statement, 258
warnings switch, 247, 255
Wrap_Page function, 251, 256, 265
<option> tag, 108
Oracle
connecting to, 23
data source name, specifying, 20
ORACLE_HOME variable, 23
ORDER BY clause, SELECT statement, 43–45, 152
or-equals (||=) assignment operator, 352
ossp.org, 114
our declaration, index.cgi, 256
output
admin.cgi, 455–456
cart.cgi, 404
catalog.cgi, 308
command-line phonebook program, 355
index.cgi (photo album program), 438–441
report_graphic.pl, 337