Эта задача действительно требует асинхронной среды: почти все используют POE в наши дни. Я ненавижу это, потому что для меня это не похоже на Perl. Похоже, это собственный специальный глупо оптимизированный язык для недоношенных. В любом случае, вы можете найти больше информации о документах cpan о poe .
Внутренние элементы POE странные, и POE делает довольно глупые вещи, такие как статический индекс содержимого @_
для «скорости». POE-компонент выглядит как маленький кусочек вуду-навоза прямо в середине вашего кода. Тебе может понравиться, попробуй. Если вам нужно отладить его или развернуть POE :: Kernel, возможно, вы захотите найти работу в другом месте.
Существует также растущая альтернатива: AnyEvent . Я бы посмотрел на это первым. Он делает вещи совершенно по-другому и является гораздо более тонким слоем, который не хочет заражать все ваше приложение.
Ссылки: