RakudoとParrotを作成して、Perl 6の学習を開始できるようにしました。Perl6の本をダウンロードして、最初のデモプログラム(テニストーナメントの例)を楽しく入力しました。
プログラムを実行しようとすると、エラーが発生します。
Divide by zero
current instr.: '' pc -1 ((unknown file):-1)
perl6
ビルドディレクトリにバイナリがあります。rakudoビルドディレクトリの下にscriptsディレクトリを追加しました:
rakudo
|- perl6
\- scripts
|- perlbook_02.01
\- scores
スクリプトディレクトリから単純なhelloworldスクリプトを実行しようとすると、同じエラーが発生します。
#!/home/daotoad/rakudo/perl6
use v6;
say "Hello nurse!";
ただし、rakudo
ディレクトリから実行すると機能します。
設定する必要のある環境変数がいくつかあるように思えますが、それらに何があり、どのような値を与えるかについては迷っています。
何かご意見は?
アップデート:
この時点ではrakudoをインストールするのではなく、ビルドディレクトリから実行するだけです。これにより、さまざまなPerl6ビルドを試してみるときに、システムへの変更を最小限に抑えることができます(Rakudo *は間もなくリリースされます)。
READMEファイルは、これが可能であると私に考えさせました。
$ cd rakudo $ perl Configure.pl --gen-parrot $ make
これにより、現在の(rakudo)ディレクトリに「perl6」または「perl6.exe」実行可能ファイルが作成されます。次に、次のようなコマンドを使用して、ビルドディレクトリからプログラムを実行できます。
$ ./perl6 hello.pl
読み直してみると、ビルドディレクトリの外でスクリプトを実行する前にrakudoをインストールする必要があるという事実への参照が見つかりました。
ビルドされると、Rakudoの
make install
ターゲットは、Rakudoとそのライブラリを作成に使用されたParrotインストールにインストールします。この手順が実行されるまで、上記で作成された「perl6」実行可能ファイルはmake
、Rakudoのビルドディレクトリのルートからのみ確実に実行できます。実行後make install
、インストールされた実行可能ファイルは任意のディレクトリから実行できます(作成に使用されたParrotインストールがそのまま残っている限り)。
したがって、Perl6で遊ぶにはrakudoをインストールする必要があるようです。
次の質問は、rakudoがどこにインストールされているかです。READMEは、ビルドに使用されたParrotインストールについて説明しています。
--gen-parrot
ビルドでこのオプションを使用しました。これはにインストールされるようrakudo/parrot-install
です。だからrakudoは私のにインストールされますrakudo\parrot-install
か?
Makefileを読むと、この結論が裏付けられます。を実行しましmake install
たが、にインストールされましparrot_install
た。
ビルド/インストールプロセスのこの部分は、Perl6の初心者にはわかりません。物事を明確にするためのドキュメントパッチを用意できるかどうかを確認します。
頭のてっぺんから:
make install
ビルド外でスクリプトを実行する前に実行することを強調します。この要件は現在、段落の途中に埋もれており、ドキュメントをざっと読んでいる人(私)が簡単に見逃してしまう可能性があります。--gen-parrot
withがperl6をディレクトリにインストールすることを明示的に記述しparrot_install
ます。