916 Часть VIII. Примеры
#!/usr/bin/peri
# dbbooksearch.pi
use DB_File;
use Fcnti;
if ($ENV{'REQUEST_METHOD'}eq 'POST')(
read(STDIN, $buffer, $ENV('CONTENT_LENGTH'});
@pairs= split(/&/, $buffer);
foreach $pair (@pairs){
($name, $value)=split(/=/, $pair);
$value=~tr/+/ /; « $value=~s/%([a-fA-FO-9][a-fA-FO-9])/pack("C'hex($l))/eg;
$form{$name)=$value;
print "Content-type:text/html\n\n";
$file="addresses";
$database=tie(%db, 'DB_File', $file, 0_READ, 0660)[ic:ccc] ¦I die "can't";
print «"HTML";
<HTML>
<HEADXTITLE>Simple dbm address book results</TITLEX/HEAD>
<BODY>
<CENTER>
<H1>A Simple Address Book Results</Hl>
<TABLE BORDER=1>
HTML
Когда загружается каждая пара ключ-значение, ключ проверяется на соответствие запросу:
while ( ($key,$value)=each(%db)){ if ($key=~/$form('name'}/i){