Perl6インストール

 既にPerl6について言及している記事を2つ書いた後なので順番は前後するが、Perl6の環境をインストールした際の記録を残しておく。

Perl6は2つある?

 まずはPerl6のインタプリタを入手しよう、ということで検索エンジンで調べてみた。調べると3つのキーワードが出てきた。"Parrot"、"Pugs"、"Rakudo"である。さらに調べていったところ、"Pugs"と"Rakudo"はどちらもPerl6の実装のようだ。Perlの実装が2つもある、というのは過去のPerlにはなかったことだ。

 もう1つのキーワード"Parrot"は仮想マシンらしい。つまり、Perl6のインタプリタ部分に相当するもののようだ。となると、ParrotはPugsにもRakudoにも必要なのだろう(想像)。Perl6のコードをPugs/Rakudoでコンパイルしてバイトコードを生成、バイトコードをParrotで解釈して実行、という流れか。情報をまとめると、Perl6を使うための選択肢は2つある。

  1. ParrotとPugsをインストールする
  2. ParrotとRakudoをインストールする

 Parrotのインストールは必須として、PugsとRakudoはどちらか片方で良い。となると、それぞれのメリット、デメリットを知っておきたい。YAPC::Asia 2009での小飼弾氏の発表の資料を参照すると、どうもRakudoの方がインストールが楽らしい。ということで、とりあえずRakudoを選んだ。

Parrotのインストール

 Mac OS X 10.6にParrotをインストールする。Packages & Source Code | Parrot VMから最新版を取得し、解凍。ディレクトリの中に、Configure.plがあるのでこれをperlで実行する必要がある。

perl Configure.pl

 実は僕は、ここで詰まった。設定に失敗するのだ。「makeする前に色々確認してね」というメッセージが最後に出力される。もちろんmakeしてもうまくいかない。エラーメッセージで検索してみたり、いろんなバージョンのものを試してみたりしたがうまくいかず、相当の時間をかけてしまった。こうなると、Configure.plを実行しているperlの方が怪しい気がしてくる。perlのバージョンは5.8.9だった。実はMac OS X 10.6には2つのバージョンのperlが入っている。5.8.9と5.10だ。ターミナル上で、perlコマンドをたたいて実行されるのはperl5.8.9。では、perl5.10はというと、perl5.10というコマンドで実行できる。

perl5.10 Configure.pl

 このようにしたところ、無事設定が完了した。あとは、make、make testしてやれば良い。

Rakudoのインストール

 Rakudoのサイトに、インストール方法が記載されている。

http://rakudo.org/how-to-get-rakudo

 Gitからダウンロードしてきて、設定して、make、make installしてやれば良いようだ。と思ったら、少し気になる記述があった。"perl Configure.pl --gen-parrot"。Parrotを生成する? もしかして、自動的にインストールしてくれるのか? 気になったので実行してみた。

perl5.10 Configure.pl --gen-parrot

 処理が完了した時点で、Parrotの最新版がインストールされていた。……Parrotのインストールにつまづいて消費してしまったあの時間は何だったんだろう。

 気を取り直して、make、make installする。これでインストール完了だ。

試してみる

./perl6 -e "say 'Hello world'"
Hello world

 正しく実行された。

 実際、インストールの作業は全然ややこしいものではなかった。ただ僕は、情報収集不足で必要以上に時間を要してしまったけれど。