Автор Тема: Немогу понять что за ошибка.  (Прочитано 4599 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Inecs

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.amorphis-dg.da.ru
Немогу понять что за ошибка.
« : 22 Марта 2006, 17:36:29 »
Вообщем есть подпрограммка:

sub moduleconf_reader {
# Открываем конфигурационный файл модуля
open (moduleconf,"config/moduleconf.cfg") || die "Немогу найти конфигурационный файл модуля";
my (%moduleconf);

while () {
    chomp;                  # удаляем перевод строки
    s/#.*//;                # убираем комментарии
    s/^\\s+//;               # убираем начальные пробелы
    s/\\s+$//;               # убираем конечные пробелы
    s/\\    s/\\>/\\>/g;
    s/\\"/\\"/g;
    s/:/\\&\\#58;/g;
    s/\\\'/'/g;
    s/\\`/`/g;
    next unless length;     # проверяем, не осталось ли чего
    my ($var, $value) = split(/\\s*=\\s*/, $_, 2);
    $moduleconf{$var} = $value;
                 }
close (moduleconf);
return (%moduleconf);
                      }


Выдаёт такую ошибку:

Unquoted string "moduleconf" may clash with future reserved word at E:/www/czone/cgi-bin/users/auth.pl line 100.\\r

Unquoted string "moduleconf" may clash with future reserved word at E:/www/czone/cgi-bin/users/auth.pl line 118.\\r

Я немогу понять, что не так. В чём ошибка?

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Немогу понять что за ошибка.
« Ответ #1 : 22 Марта 2006, 17:38:39 »
open (moduleconf,"config/moduleconf.cfg")
просто для дескрипторов файлов рекомендуют давать названия большими буквами, то есть:
open (MODULECONF,"config/moduleconf.cfg")
Ворота в perl - perlmonks.org.ru

Оффлайн Inecs

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 48
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.amorphis-dg.da.ru
Немогу понять что за ошибка.
« Ответ #2 : 22 Марта 2006, 17:42:21 »
Ок спасибо...

А вот ещё что. Есть подпрограммка:

#------------------------------------------------------------------------------#
# Подпрограмма определения, от куда пришёл пользователь
#------------------------------------------------------------------------------#
# Вывод данных
# my ($user_referer, $user_from_site) = user_from_site();
sub user_from_site {
# Определяем от куда пришёл к нам пользователь
my $user_referer=$ENV{HTTP_REFERER};
my $site_domain=$siteconf{site_domain};
my $user_from_site = $user_referer =~ m|$site_domain|;

if ($user_from_site eq "1") {
$user_from_site="1"; # Если пользователь пришёл с нашего сайта
                       } else {
$user_from_site="0"; # Если пользователь пришёл от куда-то ещё
                       }
return ($user_referer, $user_from_site);
                   }

И ругается вот как:

Use of uninitialized value in pattern match (m//) at E:/www/czone/cgi-bin/users/auth.pl line 283.\\r

283 линией является строка:

my $user_from_site = $user_referer =~ m|$site_domain|;

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Немогу понять что за ошибка.
« Ответ #3 : 22 Марта 2006, 20:00:02 »
а, если нет $ENV{HTTP_REFERER} ? :)

my $user_from_site $ENV{HTTP_REFERER} ? $ENV{HTTP_REFERER} =~ m|$site_domain| : \'unknown \';
« Последнее редактирование: 22 Марта 2006, 20:05:20 от AnnA »
пока-пока. :)

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Немогу понять что за ошибка.
« Ответ #4 : 23 Марта 2006, 12:37:16 »
Inecs
Цитировать

$user_from_site="0"; # Если пользователь пришёл от куда-то ещё

На это он тоже будет ругаться, точнее после этого...


sub user_from_site 
{
if (
$ENV{\'HTTP_REFERER\'} && $ENV{\'HTTP_REFERER\'} =~ /$siteconf{\'site_domain\'}/) {return \'our\'} 
else {return \'other\'}
}

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28