Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
}
close(DB);
}
1;
Если вам нужно открывать файл с определенными правами, то в функциях opendb() и closedb() нужно просто заменить open на sysopen по следующему формату: sysopen FILEHANDLE, FILENAME, MODE, PERMS; и все. Использование довольно простое, возьмем какой-нибудь файл test.pl. В этой же директории должен лежать и модуль simple_db.pm. Вот test.pl:
#!/usr/bin/perl
use simple_db;
# открываем файл test.db и ассоциируем с ним хеш %h,
# иначе умираем
opendb(\%h,"test.db") or die $!;
# добавляем значения в хеш
$h{'supa|var'}=["special#","tes#t"];
# также легко можно добавить массив
@tmp = ("array","tester");
# добавили ...
$h{'arr'}=@tmp;
# или добавляем массив так
$h{'arr2'}=["some","vars"];
closedb(\%h) or die $!;
Данным образом будет создан файл test.db в текущей директории. С переменной «supa|var» и значениями «speacial#» и «tes#t», и т. д. Я специально использовал небезопасные символы, а со второй и третьей переменной все в порядке – там нет небезопасных символов...
А теперь давайте посмотрим, что записано в файле test.db:
supa%7Cvar|special%23#tes%23t
arr|array#tester
arr2|some#vars
Т.е. эти символы не помешали нашей структуре файла, они всего лишь были переведены в %XX-формат. А теперь просмотрим всю базу:
#!/usr/bin/perl
use simple_db;
opendb(\%h,"test.db") or die $!;
while(($key,$val) = each %h){
print $key." = ";
if(ref $val){
# здесь, если значение переменной ссылка на массив
print join " ; ",@$val;
}else{
print $val;
}
print " ";
}