2009-10-06 3 views
6

Как мне установить 32-разрядный Perl на 64-разрядной машине, не затрагивая существующие приложения, использующие 64-битный Perl? Возможно ли, чтобы одно приложение (Read: Single file) использовало другую версию Perl для разных задач?Как установить отдельный perl без нарушения существующего?

+0

RHEL = Red Hat Enterprise Linux. http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux –

+0

Тот, кто изменил заголовок вопроса, не прав, потому что он не является полным. – aartist

+0

@aartist новое название относится к общему классу вопросов, к которому относится ваш вопрос - конкретный экземпляр ;-) –

ответ

14

Установите пользовательский Perl в другом каталоге, скажет /opt/perl-5.10.1-32bit и указать, что путь в сценарии, которые вы хотите использовать эту пользовательскую версию:

#!/opt/perl-5.10.1-32bit/perl 

в первой строке вашего скрипта.

К примеру, всего несколько минут назад, я сделал:

 
$ ./configure -Dprefix=/opt/perl-5.11.0 
+0

Где я могу найти 32-битный Perl? – aartist

+0

Как я могу установить 32-битный Perl на 64-битную систему? – aartist

2

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

  1. Вы можете компилировать 32 битый Perl, который использует 64-битный Интс и поплавки (-Duselongdouble -Duse64bitint);
  2. У вас может быть два процесса, один из которых использует 64-битный Perl, используя 32-разрядный бит и передавая данные между ними, используя каналы или общую память.

Если вам нужна 64-битная точность, но также необходимо связать с 32-битными библиотеками # 1, это может помочь. # 2, очевидно, является более общим решением, но потенциально более сложным и/или более медленным, поскольку точка связи может быть узким местом.

3

Вы также можете быть заинтересованы в perlbrew от Kang-min Liu. Это позволяет легко устанавливать несколько версий perl.

После загрузки его и установить его, запустить

perlbrew -h 

, чтобы увидеть варианты. Рассматривая документацию, он, похоже, может использовать опции -D, как упоминал Синан и Марк.

Смежные вопросы