Я думаю, что основным критерием для любого квалифицированного ответа будут детали существующей кодовой базы. Как называется этот Perl-код и как он возвращает результаты?
Набор утилит командной строки, возвращающих результаты через достаточно хороший текстовый вывод («хорошо», как «поддается дальнейшему машинному разбору» или «дружественный конвейеру») ... должен быть достаточно простым для вызова из любого языка программирования (и Отличные модули Python subprocess
и multiprocessing
в частности). К коллекции веб-CGI или других модулей, расположенных между Apache и некоторой системой СУБД, все равно можно получить доступ с помощью таких вещей, как urlopen2
или mechanize
, но может быть лучше обойти код Perl и написать Python запросить базовую (предположительно каноническую) модель (хранилище данных).
Если большая часть кодовой базы представляет собой набор библиотек или модулей ... и функциональность, которая требуется для предлагаемой панели мониторинга, еще не раскрыта через какой-либо механизм более высокого уровня (некоторый интерфейс командной строки, сетевой протокол и т. Д.) .. тогда, в принципе, безумно думать о взаимодействии с ним через любой язык, кроме Perl. (Если, по какому-то странному и крайне маловероятному повороту судьбы, ваша существующая кодовая база и предполагаемая цель реализации уже стабильны в Parrot ).
Давайте зададим другой, более широкий вопрос: Какой интерфейс вы намереваетесь использовать между вашей приборной панелью и существующей кодовой базой?
Этот вопрос имеет первостепенное значение независимо от вашего выбора языка реализации. Если вы пишете панель инструментов на Perl, ей все равно нужно каким-то образом вызывать существующую кодовую базу. Вам, вероятно, нужно исправить свою кодовую базу, чтобы реализовать поддержку всего, что вы собираетесь использовать для своей инструментальной панели. В тот момент, когда ваша кодовая база поддерживает необходимый API (имеет вызовы командной строки или протокола IPC для желаемой функциональности, которые возвращают результаты по любому разумному механизму IPC) ... тогда ваш язык реализации панели мониторинга будет по существу произвольным.