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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Paul Kulchenko                       2:5020/400     20 Apr 2000  19:44:28
 To : All
 Subject : Re: mod_perl
 -------------------------------------------------------------------------------- 
 
 Hi, Dmitriy!
 Dmitriy Goldobin wrote in message <8dm71r$i5c$1@www.office.ems.chel.su>...
 
 >> > Возможно все и так в курсе, но я только сегодня нарвался и
 >> > хочу других предупредить. Вот так:
 >> > my $x;
 >> > print $x;
 >> > BEGIN {$x="OK";}
 >> > делать в mod_perl нельзя. Оно на первый взгляд работает, но... не
 
 всегда :)
 
 Во-первых, это зависит от того, какого же результата ты хотел добиться.
 Тогда можно и говорить, правильно или нет. Работает оно всегда.
 Во-вторых, так делать бесмысленно (если только это не является частью
 инициализации класса или модуля) не только в mod_, но и в обычном Perl.
 Можно попробовать:
 sub a {
   my $x = 20;
   sub plus {$x++; print "p $x\n";}
   print "a $x\n";
 }
 plus;
 a;
 plus;
 a;
 
 Результаты весьма интересные. Потом прочитать perldoc perlsub про Persistent
 Private Variables, помня при этом, что BEGIN и END это декларации функций, и
 ведут себя они соответственно.
 
 >> А что происходит?
 >Hа цатой попытке эта переменная оказывается неопределенной.
 
 Hа второй.
 
 >Такое ощущение, что my $x; начинает интерпретироваться как my $x=undef;
 
 my $x и my $x = undef дают один и тот же результат. После my $x значение $x
 не определено.
 Best wishes, Paul.
 --- ifmail v.2.15dev4
  * Origin: Gamma NNTP server Moscow Russia (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: mod_perl   Paul Kulchenko   20 Apr 2000 19:44:28 
Архивное /ru.perl/759133ba1856.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional