Вопрос по c, module, perl – Встраивание модуля в программу Perl

2

Я разрабатываю простой инструмент, который будет использоваться на различных платформах (в основном Solaris, Linux и HP-UX). Инструмент опирается на модульProc :: ProcessTable однако я хотел бы избежать сборки / установки модуля во всех системах, на которых он будет использоваться.

Скорее, я бы хотел «вставлять»; код Proc :: ProcessTable внутри моего инструмента. В результате я ищу один файл, который будет работать во всех системах без необходимости отдельно устанавливать модуль.

Это вообще возможно? Встраивание модуля только для Perl было бы тривиально, но этот модуль компилирует некоторый OS-специфический C-код. Предполагая, что я смогу скомпилировать этот код на каждой из нужных мне ОС, как бы я включил этот предварительно скомпилированный код C в мой скрипт Perl, чтобы заставить работать встроенный модуль?

Эта презентация была такой смешной ... очень интересный! emx
Да, это вопрос с подвохом. emx
Так или иначе, ваш инструмент должен знать, где находится модуль. Таким образом, вы можете либо установить модуль как обычно, либо добавить путь к файлу модуля в@INC. user554546
Возможно, предстоящийRemote::Object помог бы :-) Joel Berger

Ваш Ответ

1   ответ
1

I would like to avoid having to build/install the module across all the systems it will be used on

Настройте локальную систему сборки / ферму ипроизводить пакеты (например, RPM) для целевых операционных систем. Одним из обязательных условий является то, что выпревратить ваш инструмент в CPAN-готовый дистрибутив, а такжеотметкаProc::ProcessTable as a run-time dependency.

Спасибо за четкое описание шагов. Это определенно указывает мне правильное направление, очень полезный ответ. И этоYAPC Событие кажется очень веселым. emx

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