if block, 34
if...else block, 34
image metadata, writing to JPEG file, 429
IMG tag, report_graphic.pl, 336
importance of, <input> tag, 106
@INC array
index.cgi, 185
view_item.cgi, 196
$index variable, 49
index.cgi (auction program)
CGI module, 185
connect method, 186
DBI module, 185
disconnect function, 186
Drop_Down_Item_List function, 186
header function, 186
@INC array, 185
index.tmpl, 187
lib function, 185
Page_Header function, 186
PATH environment variable, 186
Print_Page subroutine, 187
program listing, 217
SmallAuction module, 185
strict module, 185
taint switch, 185
template file, 186
warnings switch, 185
index.cgi (photo album program)
album table, 446
BasicSession module, 442
CGI module, 442
DBI module, 442
fetch function, 453
fetchrow_array function, 449
fetchrow_hashref function, 446, 452
Get_Details subroutine, 450
get_image function, 447
get_image subroutine, 453
Get_Photo_List subroutine, 448, 450
Get_Session function, 442
lib module, 442
List_Albums subroutine, 444
Make_Sizes subroutine, 443–444
output, 438–441
photo table, 446
prepare method, 448
Print_Page subroutine, 445, 448
program listing, 463–466
SELECT statement, 446, 451
shift function, 450
Show_Album subroutine, 444, 446
Show_Photo subroutine, 443
strict module, 442
unshift function, 450
indexes, importance of, 14–15
index.tmpl
index.cgi, 187
program listing, 273–274
infinite loop, creating, 157–158
information, extracting from data, 3
<input> tag, Hypertext Markup Language
checkbox type, 108
hidden type, 107
importance of, 106
name attribute, 107
password type, 107
radio type, 107
reset type, 108
submit type, 108
text type, 107
type attribute, 107
input type, 230
input_person subroutine, command-line phonebook program, 351
input_phone subroutine, command-line phonebook program, 354
insert method, graphical phonebook application, 373
INSERT statement
BasicSession.pm, 258
command-line phonebook program, 350, 353
graphical phonebook application, 375, 377
syntax, 71, 505
installation
ActiveState Perl, 79, 482–486
Apache, 487–493
DataBase Driver (DBD), 497–499
DataBase Interface, 497–499
MyODBC, 499–502
MySQL, 493–497
Perl, 482–487
INTEGER (INT) data type, 5
interface design
considerations, 109
security, 111–113
tips, 111
Web form examples, 110
interpolated text, 331
invoice_body.tmpl (shopping cart program), program listing, 421–422
invoice.cgi
BasicSession module, 410
Calc_Price function, 411
catalog.cgi, 411
CGI module, 410
Get_Products_List method, 410
Get_Session function, 410
invoice_footer.tmpl template, 412
output, 409
overview, 409
printf function, 412
Print_Page subroutine, 411
result method, 411
SOAP::Lite module, 410
sprintf function, 412
strict module, 410
invoice.cgi (shopping cart program), program listing, 417–419
invoice_footer.tmpl (shopping cart program), program listing, 422
invoice_header.tmpl (shopping cart program), program listing, 422–423
Is_Bidding_Open function, SmallAuction.pm, 207–208
isbn field, 42
ISBN number, 307, 310
item table, SmallAuction.pm, 214
item_details.cgi (product catalog program)
catalog.cgi, 310
CGI module, 312
GET, HTML, 312
Get_Product_Data function, 312
header function, 312
here document, 314
namespace, 312
overview, 311
param function, 312
product page, 311
program listing, 318–319
SOAP::Lite module, 312
strict module, 312
taint switch, 312
warnings switch, 312
XML document reference, 313
XMLin function, 313
XML::Simple module, 312
item_details.cgi (shopping cart program)
BasicSession module, 401
CGI module, 401
Get_Product_Data function, 402
Get_Session module, 401
param function, 402
Print_Page function, 403
program listing, 415
result method, 402
SOAP::Lite module, 401
strict module, 401
XMLin function, 403
XML::Simple module, 401
item_details.tmpl (shopping cart program), program listing, 423–424