> DEO> как-то return из под eval и вот аналог статических переменных :D > > Статические переменные - это аналог клозур (closure) для бедных (не > знающих ничего лучше C, ну на худой конец C++). В перле есть нормальные > клозуры. почитал я про клозуры
да когда надо двум функциям разделить переменную { my $a; sub foo1 { return $a+1; } sub foo2 { return $a+2; } } получается действительно "для бедных" хотя, такое обычно висит в отдельном модуле и есть не просит ;) а вот когда эта переменная нужна только одной функции (ака генератор бесконечной последовательности) то вот так по моему изящнее: mytype foo() { static mytype a=init_value(); return a+1; } чем так: { my $a=&init_value; sub foo { return $a+1; } } в первом случае "а" определена там где используется, а во втором пришлось внешний блок городить... эта, как ее клозура ;) собственно тут дело вкуса "как красивее" я бы не стал на твоем месте рассуждать о бедных и богатых ;) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]