Если вы хотите подключить модуль Perl, язык, который лучше всего подходит для этого, - Perl. Perl способен правильно представлять семантику и возможности кода, написанного на Perl. Это действительно не должно быть шоком.
Если у вас есть отдельная программа, которую вы хотите вызывать из другой программы в своем собственном процессе, не взаимодействующем постоянно, любой из этих языков может делать это с программами, написанными на любом языке. В этот момент вы на самом деле не используете другие языки внутри программы, а просто вызываете другие проблемы.
Существует несколько проектов для объединения различных пар и проектов (например, Parrot), которые стремятся предоставить платформу для широкого спектра языков для совместимости, и проекты (например, .NET), которые почти случайно обеспечивают совместимость между ранее несовместимыми языками. Однако я не думаю, что большинство из них являются настолько надежными, зрелыми и пригодными для объединения нормального кода, как вы могли бы надеяться.