g (global), regular expressions, 57
gd graphics library (Thomas Boutell), 331
GD::Graph module
importance of, 332
report_graphic.pl, 332–333
generate.pl
Add_Album subroutine, 429–430
basename function, 435
connect function, 429
copy function, 435
DBI module, 427
die function, 429
dim function, 427
execute function, 430
File::Copy module, 427
File::Find module, 427, 430
find function, 429
hash slice, 431
image metadata, writing to JPEG file, 429
image_info function, 427, 437
Image::Info module, 427
Imager module, 427, 435
Img_Copy subroutine, 433, 437
INSERT statement, 431
Massage_Data subroutine, 432, 437
mkdir function, 429
photo album files, absolute path, 428
prepare function, 430
program listing, 459–462
Rational function, 432–433
Resize subroutine, 435, 437
shift function, 429–430
split function, 433
sprintf function, 433
strict module, 427
taint switch, 427
Update_Database subroutine, 430–432, 437
Wanted subroutine, 429, 436
warning switch, 427
Gen_Output function, photo_dumper.pl, 289
GET, Hypertext Markup Language, 312
get method, 83, 86, 90, 106, 374
Get_Data subroutine, 69, 72
Get_Details subroutine, index.cgi (photo album program), 450
get_image function, index.cgi (photo album program), 447, 453
_get_image subroutine, soap_server.cgi, 304, 306
Get_Input subroutine, 73
Get_ISBN subroutine, 77–78
Get_Item_Detail function, view_item.cgi, 197
Get_Item_Detail subroutine, SmallAuction.pm, 211
Get_Item_Table function, view_all.cgi, 189–190
Get_Item_Table subroutine, SmallAuction.pm, 213
Get_Keys function, photo_dumper.pl, 289–291
get_person_id subroutine
command-line phonebook program, 351
graphical phonebook application, 378
Get_Photo_List subroutine, index.cgi (photo album program), 448, 450
Get_Product_Data function
item_details.cgi (product catalog program), 312
item_details.cgi (shopping cart program), 402
soap_server.cgi, 303
Get_Products_List method
cart.cgi, 406
catalog.cgi (product catalog program), 309
catalog.cgi (shopping cart program), 399
soap_server.cgi, 302
Get_Question function, take_test.cgi, 143–144
Get_Record subroutine, 81, 92
Get_Session function
BasicSession.pm, 263, 265
cart.cgi, 405
catalog.cgi (shopping cart program), 398
index.cgi (photo album program), 442
item_details.cgi (shopping cart program), 401
signup.cgi, 248
Get_Test_Config function
add_questions.cgi, 134
Quizzer.pm, 161
score_test.cgi, 148
take_test.cgi, 142
Get_Test_List function
Quizzer.pm, 152
test_chooser.cgi, 140
global (g), regular expressions, 57
global variables
command-line phonebook program, 349
graphical phonebook application, 359–360
graphical content, including in reports, 332
graphical phonebook application
add_upd_person subroutine, 374
add_upd_phone subroutine, 374
anonymous subroutine declaration, 363
bind actions, 365
buttons, 360
chk_del_person subroutine, 362, 378
chk_del_phone subroutine, 364, 378
Close button, creating, 370
Delete Confirmation window, 379
fill_person_list subroutine, 361–362
fill_phone_list subroutine, 364
fill_pr_list subroutine, 373, 376
frames, 361
get method, 374
get_person_id subroutine, 378
global variables, 359–360
INSERT INTO statement, 375, 377
insert method, 373
list boxes, 360
Main program form, 368
MainLoop function, 360, 367
map function, 373
messageBox method, 378
new top-level window, creating, 359
overview, 359
pack geometry manager, 364–365
Person form, 371, 375, 377
$person_add_b button declaration, 361
Phone form, 372
phone list-box entry, 371
program listing, 384–393
rollback, 379
Scrolled constructor, 360
shift function, 378
show_main_form subroutine, 360, 367
show_person_form subroutine, 361, 366, 368
show_phone_form subroutine, 363, 373
sprintf function, 373
text-entry fields, creating, 370
Tk module, 359
transactions, 379
update function, 367
UPDATE statement, 377
grid method, 88
GROUP BY statement, SELECT statement, 46–48
group, database records, 46–48