Ответ 1
В общем, вас интересуют сокеты. Хорошим местом для получения необходимой информации является документация IO:: Socket:: INET или более базовый сокет в perl от perldoc perlipc
Я ищу простой способ передачи сообщений из одного процесса (Perl script, недолговечного) в другой (Python script, long-running) - оба процесса локальны для одного и того же компьютера. Я провел некоторое исследование, но то, что я нашел, было либо над моей головой, либо казалось излишне сложным - оставив меня немного потерянным и смущенным.
Я представляю минимальный пример примерно так:
# listener.py
class Listener:
def __init__(self, port)
self.port = port
def on_message(self, msg):
print "%s: %s" % (timestamp, msg)
recipient = Listener(1234)
# sender.pl
sub send_message {
my ($msg, $port) = @_;
# ...
}
send_message("hello world", 1234);
Любые указатели на то, как решать и/или где читать об этом, будут очень признательны!
В общем, вас интересуют сокеты. Хорошим местом для получения необходимой информации является документация IO:: Socket:: INET или более базовый сокет в perl от perldoc perlipc
Оказывается, что межпроцессное общение, хотя на поверхности прямо, на самом деле чревато осложнениями. Независимо от того, что кто-либо говорит вам здесь об упрощенном ответе, всегда имейте в виду, что, вероятно, существует много предостережений, которые остаются недосказанными.
Теперь, когда это выражение об отказе от ответственности, я утверждаю, что то, что вы, скорее всего, хотите, - это очереди сообщений. Это основано на том факте, что вы не включили ip-адрес в свой пример api. Если вам нужно пройти через машины, вам понадобятся сокеты. Тем не менее, я думаю, вы найдете, что очереди сообщений проще понять, если вы можете иметь дело с тем, что это только для общения с процессами на одной машине.
Хорошей отправной точкой для perl является:
http://perldoc.perl.org/IPC/Msg.html
для python, это, кажется, объясняет (игнорируйте другие типы ipc, такие как семафоры):
http://semanchuk.com/philip/sysv_ipc/
И для подключенных коммуникаций в том же стиле, что и сокет, подумайте о 0MQ. Он может использовать различные коммуникационные технологии в зависимости от того, где находятся ваши два приложения, и даже для локальных процессов он очень прост в использовании и решает проблемы для вас.