Как я должен установить больше чем одну версию Perl?

Вы могли всегда просто или downcase строки сначала.

string title = "string":
title.ToUpper().Contains("STRING")  // returns true

ой, просто видел, что в последний раз укусил. Нечувствительное к регистру выдерживает сравнение, был бы *, вероятно *, делают то же так или иначе, и если производительность не является проблемой, я не вижу проблемы с созданием прописных копий и сравнением их. Я, возможно, поклялся, что однажды видел, что нечувствительное к регистру выдержало сравнение однажды...

17
задан Ether 23 October 2010 в 22:07
поделиться

5 ответов

Я устанавливаю все свои Perl полностью в их собственный каталог, так что они ничего не разделяют с другими Perl. Для этого вы просто указываете сценарию Configure , где все установить. Мне нравится / usr / local / perls :

 % ./Configure -des -Dprefix=/usr/local/perls/perl-5.x.y

Когда я делаю это для нескольких версий, я получаю каталог с отдельными установками.

% ls -1 /usr/local/perls
perl-5.10.0
perl-5.10.1
perl-5.6.2
perl-5.8.8

Все они имеют свои собственные каталоги bin и lib:

% ls -1 /usr/local/perls/perl-5.10.0
bin
lib
man

Большинство обычных инструментов выяснят, что делать, если вы вызовете их с разными perl:

/usr/local/perls/perl-5.10.0/bin/perl /usr/local/bin/cpan

Однако вы можете взять perl, который хотите использовать, большинство и поставьте его первым на своем пути. Я просто создаю символическую ссылку на / usr / local / bin / perl, но вы также можете добавлять каталоги в PATH.

perlbrew делает многое из этого для вас и перемещает символические ссылки, чтобы создать одну из них perl по умолчанию. Я не Но я не использую его, потому что это не облегчает мне жизнь. Но решать вам сам.

15
ответ дан 30 November 2019 в 13:05
поделиться

Разделите их на их собственные каталоги для конкретных версий, а затем создайте символическую ссылку perl на версию, которую вы хотите использовать в данный момент. Вот как работает установка нескольких JRE / JDK, поэтому, похоже, это имеет смысл и для установок Perl.

7
ответ дан 30 November 2019 в 13:05
поделиться

Вам действительно следует установить разные версии в разные каталоги.

Когда я хочу попробовать несколько версий пакета, которых нет в виде пакетов для моего любимого дистрибутива Linux, я использую stow или xstow как менеджер пакетов для бедняков:

  • Создать каталог / usr / local / stow
  • Установить отдельные пакеты в / usr / local / stow / $ PACKAGE- $ VERSION
  • сопоставить «пакет» с / usr / local : stow -d / usr / local / stow $ PACKAGE- $ VERSION
  • деактивировать "package": stow -d / usr / local / stow -D $ PACKAGE- $ VERSION

stow выполняет свою работу, создавая символические ссылки и управляя ими, и может обнаруживать конфликты.

2
ответ дан 30 November 2019 в 13:05
поделиться

Здесь, на работе, мы разрабатываем несколько версий Perl, и отдельные каталоги - это лучший вариант. Мы создали небольшую команду оболочки, которая исправляет символические ссылки и переменные среды, чтобы вы могли легко использовать нужный perl.

Если вы беспокоитесь о том, что забыли, какой perl используется, вы можете добавить в такой сценарий номер версии в приглашении оболочки.

0
ответ дан 30 November 2019 в 13:05
поделиться

Хотя установка в разные каталоги обычно является лучшим способом, вы можете использовать переключатель Configure -Dversiononly , чтобы использовать один каталог и включить триплет версии во все имена путей (кроме файлов man, которых вы, вероятно, вообще не хотели бы устанавливать), например perl5.10.0 , cpan5.10.0 , perldoc5.10.0 и т. д.

0
ответ дан 30 November 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: