Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
closedb(\%h) or die $!;
При выводе база будет выглядеть так:
supa|var = special# ; tes#t
arr = array ; tester
arr2 = some ; vars
Очищаем базу, просто очищая хеш, т.е. %h=(), или можно просто удалить файл следующим образом:
unlink "test.db" or die $!;
А при открытии базы открыть файл в режиме создания, т.е. перед opendb() сделать следующее:
# $filename - в данном случае имя нашего файла
if(!(-e "$filename")){
open(FILE,">$filename") or die $!;
close(FILE);
}
Но эта база не может претендовать на большую скорость и большие размеры и, как вы уже успели заметить, в ней не могут быть созданы сложные структуры. Данная база данных вполне подойдет для небольших объемов информации, например, для небольших сайтов или веб-сервисов. С помощью классов можно создать свою вполне приличную базу данных. А теперь давайте расмотрим другие базы данных. Начнем с портированной в вашу систему базу данных (их может быть несколько). Функция dbmopen() довольна стара и поэтому позволяет использовать лишь ту библиотеку DBM, c которой был построен Perl. Но по ходу статьи рассмотрим и более новые методы.
Вот пример с dbmopen():
#!/usr/bin/perl
use Fcntl;
# специально для таких переменных, как O_RDWR, O_CREAT
# O_RDWR - права: чтение, запись
# O_CREAT - создать файл, если он не существует
dbmopen(%HASH,$FILENAME,O_RDWR|O_CREAT, 0666) or die "Cant open $FILENAME: $! ";
# заносим данные в базу данных
$HASH{KEY}="VALUE";
# проверяем, существует ли ключ
if(exists $HASH{KEY}){
# что-то делаем с информацией, полученной из базы данных
$info = $HASH{KEY};
}
# удаляем какой-нибудь ключ из базы
delete $HASH{SOME_KEY};
dbmclose(%HASH);
Также в начале программы можно добавить: use NDBM_File; или use SDBM_File; или use GDBM_File; или use DB_File; – данные модули просто переопределяют стандартный вариант, с которым был построен Perl. Есть также другой способ открытия базы данных – tie и untie. Делается это так:
#!/usr/bin/perl
use DB_File;
# здесь это обязательно, т.к. в функции tie() мы задаем модуль