在Ubuntu和Perl 5.26中安装Raku(Perl 6)


9

我很想学习Raku(Perl 6)及其语法。

我的Ubuntu计算机上已经安装了Perl 5。

vinod@ubuntu-s-1vcpu-1gb-nyc1-01:~$ perl -v

This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)

Copyright 1987-2017, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

我想在同一Ubuntu系统中安装Raku。我有几个问题:

  1. 如何安装Raku?
  2. 如果我安装了Raku,Perl 5.26是否会被清除/更新?我希望在系统中使用Perl 5.26,因为几个脚本正在Perl 5中运行。
  3. 一台服务器上可以有2个版本的Perl吗?
  4. 一旦安装了Raku,如何在Ubuntu服务器上运行Raku / Perl 5代码?就像我use Perl 5.26;一开始应该提到的吗?默认情况下,它将使用哪个版本的Perl?
  5. 如何运行Raku代码?

2
关于“ 我可以在单个服务器上有2个版本的Perl吗? ”,是的,但是Perl 6 / Raku不是Perl的版本;这是一种全新的语言。
ikegami,

@ikegami:谢谢。我应该在同一服务器上有2个Perl版本,即5.24和5.26吗?
vinodk89 '19

可以做到的。我有十几个版本。您可以将Perl安装到任何目录中。您可以perlbrew用来安装它
ikegami

Answers:


11
$ sudo apt-get install rakudo 
[ ... stuff happens ... ]
$ perl6 -v
This is Rakudo version 2018.03 built on MoarVM version 2018.03
implementing Perl 6.c.
$ perl -v

This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)

Raku编译器位于名为的软件包中rakudo。该软件包包括一个称为perl6Raku实际编译器的程序。Perl编译器和Raku编译器是两个完全独立的程序,因此使用它们之一安装和运行代码都没有问题。它们与Perl和PHP一样独立。

更新:在(现在,很奇怪,已删除)评论中,您问

用什么方式打开vi编辑器并编写代码

您可以使用与在每次执行时都会编译或解释代码的任何编程语言相同的方式来执行此操作-Perl,Python,Ruby,bash,它们都以相同的方式工作。

您可以编写一个包含Raku代码的文本文件,并使用运行它perl6 your_file_name

或者,您可以#!/usr/bin/perl6在文件顶部放置正确的shebang行(即),然后使用来使文件可执行chmod +x your_file_name


谢谢@戴夫。我删除了评论,因为找到了答案。抱歉
vinodk89 '19

9

这里有一个社区维护的Rakudo的最新版本的存储库:https ://nxadm.github.io/rakudo-pkg/

该更新通常在每个正式版本发布后几天进行更新,当前日期为2019.07.1。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.