Глава 36. Работа с базами данных_____________________________915
эти данные друг от друга. Для этого используем функцию split о. После этого отправим разделенные части в массив @part:
while (($key,$value)=each(%db))( @part= split(/:/,$value);
Вы можете использовать условие if, чтобы проверить, ввел ли пользователь адрес электронной почты. Если это так, выведите ссылку, используя атрибут HREF. В противном случае выведите ключ, а затем адрес и номер телефона из массива:
if ($part[0]){
print "<TRXTDXA HREF=\"mailto:$part[0] \">$key</AX/TD>";
>
else ( print "<TRXTD>$key</TD>";
}
print "<TD>$part[0]</TDXTD>$part[l]</TDX/TR>\n" • }
Наконец, вы заканчиваете страницу, закрывая таблицу, тело документа и HTML-файл. После этого нужно воспользоваться функцией untie о, чтобы отключиться от базы данных, а также отменить определение переменной
$databaseИ ВЫЙТИ ИЗ СКрИПТВ.
print «"HTML";
</TABLE>
<р>
<А HREF="/dbbook.html">[Add to address book]</A>
</BODY>
</HTML>
HTML
untie (%db);
undef($database);
exit;
Поиск в базе данных dbm.Вы уже умеете вводить и выводить информацию. Что произойдет, если ваша база данных сильно вырастет в размерах? Если в ней порядка 100 записей, для вывода всей информации понадобится слишком длинная страница. Кроме того, разыскать определенное имя станет трудной задачей.
Поэтому надо снабдить наш документ средствами поиска (листинг 36.7). Например, пользователь может ввести фамилиюDoe,чтобы получить требуемые сведения.