From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 23 May 2001 12:58:25 +0400 From: Mikhail Zabaluev To: sisyphus@altlinux.ru Message-ID: <20010523125825.D3155@localhost.localdomain> Mail-Followup-To: Mikhail Zabaluev , sisyphus@altlinux.ru References: <3B05163A.3040800@novosoft.ru> <20010522134047.I12506@ldv.office.alt-linux.org> <3B0A6705.2060705@novosoft.ru> <20010523030914.F1915@localhost.localdomain> <3B0B15F3.3060400@novosoft.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <3B0B15F3.3060400@novosoft.ru>; from morozov@novosoft.ru on Wed, May 23, 2001 at 08:44:19AM +0700 Subject: [sisyphus] Re: =?koi8-r?B?W3Npc3lwaHVzXSDkwdfBytTFINPQz9LJ1NguIO8gUGVybD8=?= Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: Hello Alexey, On Wed, May 23, 2001 at 08:44:19AM +0700, Alexey Morozov wrote: > > Mikhail Zabaluev wrote: > > >А что, и расскажу. Когда мы с Дмитрием обсуждали авто-зависимости для > >Perl, никаких общепринятых схем, кроме perl-Some-Module в имени > >пакета, на горизонте не было. Выбранная схема позволяет включать в > > > Гхм. Насколько я понимаю ситуацию, уже в 98 году у меня были модули, > собранные именно через perl(Test::Module) :-) Дистрибутив, plz. Это вряд ли был RH или Mandrake, с которыми имеет смысл хотя бы декларировать совместимость. > >зависимости не только .pm-модули, но и .pl, .ph и -- теоретически -- > >любые другие. Почитайте внимательно TFM: оператор require допускает > >явную файловую форму, а также разделитель "'" вместо "::". Вы уже > > > Я это знаю. Я профессиональный писатель на perl (ну, нет, разумеется, не > только :-)) Я даже знаю, что require можно заменить на do + > манипулирование %INC :-). А в некоторых, совсем клинических местах > (например, у меня) встречается > > $module = get_app_name($somedata); > eval "require $app"; # Вот именно так, в строчном контексте, чтобы не > колбасить руками преобразование Test::Module -> Test/Module.pm :-) > > Я это все знаю. Более того, пользуюсь. И поэтому не могу сказать: "а, вы > все дураки, один я Д'Артаньян". Но думать надо. Вы не задумывались над > тем, что бы пытаться грузить модуль, а потом анализировать изменения в > %INC? По-видимому, это даст нам _минимальный_ набор требуемых модулей, > хотя, конечно, если модули цепляются через require, там придется еще > подумать, а удается ли их зацепить таким вот образом. Короче, надо думать... Загрузка модуля через use чревата побочными эффектами, а в некоторых файлах есть злостные блоки, которые выполняются при компиляции. Можно, конечно, грузить их в сейфе с запретом на опасные операции, но все же надежность и здравость такого решения в плане влияния на процесс сборки сомнительна. Тормозить все это будет точно. > >ненавидите Perl так, как ненавижу его я? :) > > > "Это наша родина, сынок" :-) Ну нееет. Я уже собрал свой чемодан для переезда в Python. > > Во всем этом разнобое самыми надежными выглядят имена файлов. > > > Собственно, большой разницы, что цеплять perl(Test/Module.pm) или > perl(Test::Module) я не вижу (разве что, второе более наглядно и, > наверное, более портабельно между системами :-)). Вы видели где-нибудь эти зависимости perl(Test::Module)? Я, признаться, долго не подымал головы, чтобы поглядеть через забор... > Но вот как эти > Test::Module выбирать - это вопрос... Повторюсь, этот вопрос мы однажды обдумали и решили так, как решили. Какой-нибудь foo/bar.ph ведь не запишешь через двоеточия. Кстати, почему я не слышу ругательств насчет версий с эпохами? :) > >>Нет, я еще раз повторю, я не знаю, как правильно. Возможно, совсем > >>правильно, но ломово - руками. > >> > >Истинно так. AutoReq и AutoProv - подпорки, которые не должны > >полностью заменять высшую нервную деятельность. Они должны работать > > > Глядя на размер CPAN начинаешь тосковать по более полезному применению > "высшей нервной" :-) На самом деле, плохого для наших скриптов кода в популярных модулях не так уж и много. Авторы правильного Perl не такие уж и грязные недисциплинированные хакеры, как можно себе представить :) И потом, никто не собирается паковать в дистрибутив весь CPAN. Оставьте кучу там, где ей лежать хорошо. -- Stay tuned, MhZ JID: mookid@jabber.org ___________ Laugh when you can; cry when you must.