Инлайн :: Perl5
Получить от http://modules.perl6.org/
panda install Inline::Perl5
В следующем примере показано, как импортировать и вызывать модуль Perl 5 Text::Unidecode
, «Транслитерация Юникода последней инстанции» из Perl 6.
Установите модуль, если у вас его нет
perl -MCPAN -e "install Text::Unidecode"
Теперь код
use Inline::Perl5;
use Text::Unidecode:from<Perl5>;
my $result = Text::Unidecode::unidecode('Solidarność');
say($result);
В качестве альтернативы, более гибкий способ - импортировать Inline :: Perl5 самостоятельно, создать новый контекст и оценить вызов функции в этом контексте
use Inline::Perl5;
my $p5 = Inline::Perl5.new;
$p5.use('Text::Unidecode');
my $result = $p5.call('Text::Unidecode::unidecode', 'Solidarność');
say($result);
В любом случае, это печатает
./perl6-m ~/perl/usefrom5.pl
Solidarnosc
Более подробный обзор доступен в Readme на Github
Историческая перспектива
Ранее были еще два проекта по взаимодействию. Используйте v5 и проектную близость. V5 все еще работает, несколько. Близкость теперь совершенно неактуальна.
Использовать v5
panda install v5
По состоянию на конец 2014 года v5 не компилируется в Jako Rakudo. Он компилируется под Rakudo на MoarVM (он также не компилируется под Rakudo на ParrotVM).
blizkost
Несколько лет назад попытались внедрить Perl 5 в ParotVM и использовать виртуальную машину для обеспечения взаимодействия. Поскольку это решение относится к ВМ, оно было отменено в пользу Inline :: Perl5.