ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Mikhail Zabaluev <mhz@alt-linux.org>
To: sisyphus@altlinux.ru
Subject: [sisyphus] Re: [sisyphus] Давайте спорить. О Perl?
Date: Wed, 23 May 2001 12:58:25 +0400
Message-ID: <20010523125825.D3155@localhost.localdomain> (raw)
In-Reply-To: <3B0B15F3.3060400@novosoft.ru>; from morozov@novosoft.ru on Wed, May 23, 2001 at 08:44:19AM +0700

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.



  reply	other threads:[~2001-05-23  8:58 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-18 12:31 [sisyphus] Давайте ругаться Alexey Morozov
2001-05-22  9:40 ` [sisyphus] Re: [sisyphus] Давайте спорить Dmitry V. Levin
2001-05-22 13:17   ` Alexey Morozov
2001-05-22 17:50     ` Aleksey Novodvorsky
2001-05-22 17:58       ` Aleksey Novodvorsky
2001-05-23  2:06       ` Alexey Morozov
2001-05-23 11:11         ` [sisyphus] " S. Budnevitch
2001-05-23 13:01           ` Alexey Morozov
2001-05-22 18:19     ` Dmitry V. Levin
2001-05-23  1:27       ` Alexey Morozov
2001-05-23  9:11         ` Mikhail Zabaluev
2001-05-23 10:39           ` Alexey Morozov
2001-05-23 11:01         ` Aleksey Novodvorsky
2001-05-22 23:09     ` [sisyphus] Re: [sisyphus] Давайте спорить. О Perl? Mikhail Zabaluev
2001-05-23  1:44       ` Alexey Morozov
2001-05-23  8:58         ` Mikhail Zabaluev [this message]
2001-05-23 11:02           ` Alexey Morozov
2001-05-23 21:33             ` Mikhail Zabaluev
2001-05-24  4:05               ` [sisyphus] первый login Sergey S. Skulachenko
2001-05-22 11:45 ` [sisyphus] Давайте ругаться Aleksey Novodvorsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010523125825.D3155@localhost.localdomain \
    --to=mhz@alt-linux.org \
    --cc=sisyphus@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git