[Perl]
Perl6
- https://raku.guide/ja/
- https://xn--1xtr8p.xn--kst.jp/Raku.html
- https://yusukebe.com/posts/2020/write-perl6/
Perl5からのマイグレーション
- IDE -> https://commaide.com/
- Emacs -> ?
- cpan -> zef https://modules.raku.org/
- Plack -> http://blog.64p.org/entry/2015/12/01/142903
Perl6環境構築
- rakudoをインストールする
- 他のOSの場合は右のサイトに従う https://rakudo.org/downloads
$ brew install rakudo $ rakudo -v Welcome to Rakudo™ v2022.02. Implementing the Raku® Programming Language v6.d. Built on MoarVM version 2022.02.
- rakubrewをインストールする
- https://rakubrew.org/
- OSごとにURLが異なる
First download the right rakubrew executable for your platform: Unix-ish: https://rakubrew.org/perl/rakubrew Mac OS: https://rakubrew.org/macos/rakubrew Windows: https://rakubrew.org/win/rakubrew.exe
$ wget https://rakubrew.org/<OS名>/rakubrew -O /usr/local/bin/rakubrew $ sudo chmod +x /usr/local/bin/rakubrew $ rakubrew mode shim $ rakubrew init $ echo 'eval "$(/usr/local/bin/rakubrew init Bash)"' >> ~/.bashrc
- 最新のrakudoをインストール
$ rakubrew available ... D 2022.02 D 2022.03 *D 2022.04 $ rakubrew download 2022.04 $ rakubrew versions system * moar-2022.04 $ rakubrew exec zef --version v0.13.8
- zefで何かインストールする
- Perl5 での Plack に当たる Crust をみんなで作った話
- Crustを入れてみる
- Macの場合、事前にbrew install opensslが必要だった
❯ rakubrew exec zef install Crust ===> Searching for: Crust ===> Updating fez mirror: https://360.zef.pm/ ===> Updated fez mirror: https://360.zef.pm/ ===> Updating rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json ===> Updated rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json ===> Testing: Crust:ver<0.0.1> ===> Testing [OK] for Crust:ver<0.0.1> ===> Installing: Crust:ver<0.0.1> 2 bin/ scripts [crustup.bat crustup] installed to: /home/hiroyuki/.rakubrew/versions/moar-2022.04/share/perl6/site/bin
- ワンライナーでcrustを実行!
❯ rakubrew exec crustup -e 'sub ($env){ 200, [], ["OK"] }' http server is ready: http://127.0.0.1:5000/ (pid:21708, keepalive: 1)
http://localhost:5000 にアクセスすると"OK"が見れるはず
- モジュールの依存関係は
- META6 を使う