>По подробней 1) почему у вас в инсталяции по умолчанию файлы графиков (xml) пишутся в директорию /cgi-bin/admin
2) нет единой системы логирования, поэтому процедура log_print у вас определена раз 5
./Abills/HTML.pm:sub log_print {
./Abills/PDF.pm:sub log_print {
./Abills/nas.pl:sub log_print2 {
./Abills/XML.pm:sub log_print {
./libexec/config.pl:sub log_print {
3) Модуль - это огромный файл webinterface c мешаниной из perl кода, sql комманд, и html тегов.
4) В коде куча строк вида,
# print $prepaids{0}."\n";
# print "LIMIT: $RESULT->{TRAFFIC_LIMIT} USED: $used_traffic->{TRAFFIC_SUM}";
5) интенсивно используются конструкции вида
$list = get_smth()
if ($list->[0]->[3]) { bla bla }
те жесткая привязка на индексы, если что-то менять, то во первых сложно найти где это используется ( удобнее пользоваться именнованными хешами, грепом удобно искать где это используется), а во вторых стоит чуть изменить порядок следования элементов то все летих нахер.
6) странная структура каталогов.
несколько странно обнаружить модуль Auth.pm в директории, Abills/mysql/Auth.pm
А если вы будете добавлять например PG, вы создадите Abills/pg/Auth.pm ?
Больше проде на память ничего не вспомнил, я с вашим кодом плотно летом возился ( перекраивал под наши нужды), осталось тягостное впечатление. коды апача и постгреса гораздо большее понравились.
PS: Только не надо воспринимать меня как человка который пытается опустить ваш продукт, он работает, и многих устраивает ( в том числе и меня ), но качество кода там низкое. Ради интереса посмотрите на код постгреса. Проекту 4 года ( или больше), ваш уровень как разработчика несомненно вырос, поэтому и надо рефакторить код, чтобы не тащить ошибки юнности в светлое будующее :)