Forum Webscript.Ru

Программирование => Perl => Тема начата: Phoinix от 09 Ноября 2002, 11:59:50

Название: Как правильней сделать
Отправлено: Phoinix от 09 Ноября 2002, 11:59:50
Есть скрипт который выводит каталог анекдотов, вставлен в одну HTML страницу SSI и только в ней и вертится, но анекдоты разбиты по разделам (тематике) и каждый раздел в своем txt файле, они подгружаются в зависимости от того какие параметры указаны. Мне пришлось в скрипте создать кучу условий, таких как:

if (categ eq "0001") {$base_file="base/1001.txt"}
if (categ eq "0002") {$base_file="base/1002.txt"}
....
if (categ eq "0101") {$base_file="base/1101.txt"}

У меня есть файл в котором перечислены все эти разделы и заголовки к ним, такого вида:

0001|Раздел 1|end
0002|Раздел 2|end
...
0101|Раздел 101|end

Я хочу избавится от этой кучи условий, но вопрос, что правильней, забить в выше указанный файл еще одну переменную, с названием файла, или же прибавлять к переменной $categ еще один или несколько символов вначале для получения имени файла?

Что безопасней и работать быстрее будет?
Название: Как правильней сделать
Отправлено: YA от 09 Ноября 2002, 21:30:15
$base_file="base/$categ.txt";
Название: Как правильней сделать
Отправлено: glebushka от 09 Ноября 2002, 21:43:46
Цитировать
$base_file="base/$categ.txt";

Цитировать
Что безопасней и работать быстрее будет?

Только $categ нужно обязательно проверять, а то там такое пропишут, что, если проект серьёзный, тебе будет не до анекдотов:-))).
Кстати я тоже этим часто пользуюсь, а вот проверяю редко, лень:-).
Название: Как правильней сделать
Отправлено: YA от 09 Ноября 2002, 23:18:43
Цитировать
нужно обязательно проверять
Об этом можно было и не говорить, естественно нужно! Например, так:
$categ="0001" unless $categ=~/^\\d{4}$/;
И про режим проверки меченых данных не забываем ("-T")!
Цитировать
а вот проверяю редко, лень:-).
О-ОЧЕНЬ ЗРЯ!
Название: Как правильней сделать
Отправлено: Phoinix от 11 Ноября 2002, 09:34:15
Спасибо, но я все-таки решил в файл где забиты заголовки категорий забить еще 1 переменную с названием файла, тогда в принципе проверять переменную $categ не обязательно, если что и забьют левое, то толку не будет никакого.
Название: Как правильней сделать
Отправлено: YA от 11 Ноября 2002, 13:08:20
Phoinix, это ИМХО тупиковая ветвь эволюции.
Почитай лучше что-нибудь про базы данных (самые основы) - поймешь.