Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     02 Apr 2002  15:43:13
 To : Igor Gerdler
 Subject : Re: Возможные действия
 -------------------------------------------------------------------------------- 
 
 Igor Gerdler wrote:
 
 > Добрый день, уважаемый Дмитрий!
 > 
 > 
 >>global symbol $string requires explicit package name.
 >>
 > 
 > В сообщении сообщается, что нужно явно указать имя пакета для используемой
 > переменной. Сообщение обычно появляется, когда ты используешь переменную не
 > объявив ее в текущем пространстве имен (name space) или когда ты используешь
 > переменную в функции, описанной внутри другой функции:
 > sub func1 {
 >     my $var1 = 13;
 >     my $var3 = func2();
 >     sub func2 {
 >         my $var2 = $var1*7;
 >         return $var2;
 >     }
 > }
 > 
 > Мне приходилось сталкиваться с такой ошибкой при работе с mod_perl используя
 > модуль Apache::Registry, т.к. в этой случае твой скрипт на самом деле
 > является телом функции handler().
 > 
 > В качестве рекомендации могу предложить объявлять все используемые
 > переменные и если нужно иметь глобальные в пространстве имен скрипта
 > переменные - объяви их в основной части скрипта и передавай в функции в
 > качестве параметров.
 > Hапример:
 > sub func1 {
 >     my $var1 = 13;
 >     my $var3 = func2($var1);
 >     sub func2 {
 >         my $var1 = shift;
 >         my $var2 = $var1*7;
 >         return $var2;
 >     }
 > }
 > 
 > Всего доброго!
 > Игорь Гердлер
 > 
 > 
 > 
 
 Хорошее разъяснение. Вот только к данной ошибке оно не имеет никакого
 отношения (за исключением первых двух строк). Все остальное скорее
 описывает причины возникновения:
 Variable "$string" will not stay shared
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ошибка requires explicit package name   Dmitry Sergeev   02 Apr 2002 11:26:43 
 Возможные действия   Igor Gerdler   02 Apr 2002 11:59:48 
 Re: Возможные действия   Andrey Sapozhnikov   02 Apr 2002 15:43:13 
 Re: ошибка requires explicit package name   Konstantin Tokar   02 Apr 2002 11:53:35 
Архивное /ru.cgi.perl/5284106ca89a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional