2014-02-11 1 views
0

Мы разработали скрипты, которые теперь работают в окнах (клубника perl). Если я хочу запускать те же сценарии в linux (я использую некоторые модули cpan), мне нужно что-то изменить?Запрос на установку модулей CPAN в Linux OS

+2

Это полностью зависит от того, что вы делаете. Если вы, скажем, используете API win32 для доступа к объектам COM, то да. Если вы обрабатываете простой текст, возможно, нет. Если вы делаете что-то посередине, тогда ответ «возможно». – geoffspear

+0

Спасибо за быстрый ответ Wooble Я использую DBI, FILE :: FETCH, SSH :: COMMAND и THREADING. Я извлекаю файлы с удаленного сервера и Querying DB на локальном сервере. –

+0

Предполагая, что база данных - это то, что вы запускаете на локальной машине Linux, я бы сказал, что потоки будут, скорее всего, вызывать проблемы; есть области, где потоки в Windows разные. Я попробую запустить ваш скрипт в окне Linux и посмотреть, что происходит. :) – geoffspear

ответ

0

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

Возможно, вы написали какой-то конкретный код ОС, и вам нужно будет обслуживать определенные части по-разному под каждой ОС.

Возможно, существуют ошибки для модулей, которые вы используете для одной платформы, но не для других.

Итак, ответ заключается в том, что никто не может вам сказать, потому что вам придется опубликовать весь свой код и ожидать, что кто-то проверит его на нескольких ОС, что необоснованно.

Настоящий ответ заключается в том, что вам нужно сделать какую-то работу, чтобы отменить то, что должно быть сделано. При минимальном запуске весь комплект тестов.

+0

И шаг 0 - убедиться, что у вас есть достойный набор тестов. – tobyink

1

После притон, добавьте эти строки:

use strict;

use warnings; #or add -w to the shebang

Если вы запустите скрипт с этими линиями на системе Linux, Perl услужливо вам сказать, что он не может найти модуль/dependency, если есть какие-либо проблемы. Если они еще не находятся в версии Windows, тогда может быть много предупреждений и исправлений.

http://perldoc.perl.org/perllexwarn.html

http://www.perlmonks.org/?node_id=111088

http://perldoc.perl.org/strict.html

Update: Рик упоминает в ответе притон линия сама по себе также должны быть изменены на что-то как#!/usr/local/bin/perl или #!/usr/bin/perl

+0

В общем, я считаю, что перемещение кода Perl из Windows в LINUX довольно легко, как только вы настраиваете линии привязки и пути к файлам в своем коде. Однако в другом направлении гораздо сложнее из-за отсутствия Windows-функций POSIX и проблем с обработкой резьбы/вилки. Разработка модулей, по-видимому, более активна в системах, отличных от Windows, поэтому, если вы не используете что-то Windows, вы должны быть в порядке. –

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