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つある。
- ParrotとPugsをインストールする
- 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
正しく実行された。
実際、インストールの作業は全然ややこしいものではなかった。ただ僕は、情報収集不足で必要以上に時間を要してしまったけれど。