Forum Webscript.Ru

Программирование => Perl => Тема начата: webser от 21 Марта 2008, 13:53:02

Название: Неправильно обнуляется список
Отправлено: webser от 21 Марта 2008, 13:53:02
Суть ::: на локальном сервере все нормально работает - список не наращивается (видно в настройках Apache так сделано.) Тот же скрипт на внешнем хостинге (Zenon) дает наращивание списка при работе.

$file = $path.$country."/clients.dat"; # указание файла на сервере

open(FILE,"$file");
my @list = ;
close(FILE);

# формирование списка на вывод
# my @Special = ""; # Обнуляем список
foreach (@list) {
my ($spec, $id, $name, $txt, $logo, $link) = split(/$delimiter1/);
if ($spec eq "*") { # выбираем строки для массива @Special
push (my @Special, $_);
}
}
#подсчет записей в файле
$count = @Special;

#отладочная песать
print qq!

Число Клиентов = $count

!;
foreach (@Special) {
print qq!
$_ |
!;
}

Результата работы
Число Клиентов = 53
*#0002#3 канал### | *#0005#Cool Air### | *#0007#European Food Group### | *#0008#Home Net Telecom (HNT)### | *#0016#Абсолют Банк### | ..........
Перезагружаем страницу :
Число Клиентов = 106
*#0002#3 канал### | *#0005#Cool Air### | *#0007#European Food Group### | *#0008#Home Net Telecom (HNT)### | *#0016#Абсолют Банк### | *#0020#Агрохимбанк### | *#0512#ИД «Аксель Шпрингер Раша»### |........
и т.д.

поставил (раскоментировал) строку
my @Special = ""; # Обнуляем список

Помогло, список перестал наращиваться, но в начале списка появился нулевой элемент и список увеличился на 1 !!!

Число Клиентов = 54
| *#0002#3 канал### | *#0005#Cool Air### | *#0007#European Food Group### | *#0008#Home Net Telecom (HNT)### | *#0016#Абсолют Банк### | *#0020#Агрохимбанк### |

ВОПРОС :::: Как с этим бороться - что-то изменить в коде или в настройках httpd.conf

Заранее спасибо
Название: Неправильно обнуляется список
Отправлено: arto от 21 Марта 2008, 14:54:04
my @Special;
Название: Неправильно обнуляется список
Отправлено: webser от 21 Марта 2008, 15:02:40
Ха! Дольше писал.....
ерфтлы, что в переводе означает thanks  ;-))))))))))))))))))))))))))))))))))
Название: Неправильно обнуляется список
Отправлено: webser от 21 Марта 2008, 16:15:53
рекомендуют обнулять так:
my @Special = ();

Но это программным средством. Но у меня на локальном сервере все работает и БЕЗ обнуления !!! Значит можно что-то изменить в НАСТРОЙКАХ Apache (httpd.conf) и не заморачиваться на обнуление.
Что скажите?
Название: Неправильно обнуляется список
Отправлено: arto от 21 Марта 2008, 16:24:43
1. кто рекомендует?
   просто это 2 операции вместо одной.
2. возможно на локальном сервере у вас mod_cgi,  а удаленном -- mod_perl
Название: Неправильно обнуляется список
Отправлено: Yaroslav от 21 Марта 2008, 20:14:48
Цитировать
arto:
1. кто рекомендует?

книжки :-)