祝!Perl 5.36 !
ということで、初夏のはじめ頃のイベントである Perl の新規安定版リリースです。
うちは(anyenv経由の) plenv で複数の Perl のバージョンを扱っているので、 plenv での作業を書いておきます。
誰のためってもちろん、来年の自分用です。
インストールできるバージョンを確認
$ plenv install -l | grep 5\.36 5.36.0 5.36.0-RC3 5.36.0-RC2
インストール
$ plenv install 5.36.0
現時点で plenv がメインで使っているバージョンを確認する
$ plenv versions system 5.32.0 * 5.34.0 (set by /Users/sironekotoro/.anyenv/envs/plenv/version) 5.36.0
plenv がメインで使っているバージョンを、新しくインストールしたものに変更する
$ plenv global 5.36.0
plenv がメインで使っているバージョンが変更されていることを確認する
$ plenv versions system 5.32.0 5.34.0 * 5.36.0 (set by /Users/sironekotoro/.anyenv/envs/plenv/version)
perl のバージョンを確認する
$ perl -v This is perl 5, version 36, subversion 0 (v5.36.0) built for darwin-2level Copyright 1987-2022, 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 https://www.perl.org/, the Perl Home Page.
VScode でも新規に入れた perl を利用しているか確認する
vscode で Code Runner とか入れている場合には、ちゃんと更新したバージョンで実行されているかを確認する。
#!/usr/bin/env perl use strict; use warnings; print $]; # 5.036000
この $]
というのが特殊変数で、実行している perl のバージョンを返してくれる。
VScode + Code Runner でうまく動かない場合には、Code Runner の「拡張機能の設定」→「Code-runner: Executor Map」→setting.json
で perl が plenv(またはanyenv) でインストールされたものになっているか確認しておく。
ターミナルで perl -v
で確認したバージョンでよければ、ターミナルで which perl
として出てきたパスを設定する。
うちの場合はこんな感じ。
"perl": "$HOME/.anyenv/envs/plenv/shims/perl",
これまで入れてきた perl のモジュールをマイグレーションする
マイグレーションと言っても以前入れていたバージョンの perl でインストールしたモジュールを移行(移動)してくるのではなく、新規バージョンの perl にモジュールを新規でインストールを行う作業。
GitHub とか 自前ソースで作ったものは移行されない模様。
都度自分でインストールする。
-n
(モジュールインストール時にテストしない)つけているのは自己責任いうことで・・・
$ plenv migrate-modules -n 5.32.0 5.36.0
インストールしてきたモジュール数によっては時間がかかる。
なので寝て待つか、ゲームでもして待ちましょう。
初プレイから5年、長かったわ。最後に残ってたのは国持衆でした。 #信長の野望 #創造PK #NOBUNAGAS_AMBITION #NintendoSwitch pic.twitter.com/WvrYKgdAmg
— sironekotoro💙💛 (@sironekotoro) 2022年6月1日
perl のバージョンを上げてもアプリを今まで通り動かしたい
ただ、モジュール関連は先の項で説明した通り入らないものもあります・・・
と、こうなって初めて Carton とか Docker のような、環境ごと切り出してくれるような技術が重要になってくるわけですね!(毎年痛感)
Perl 5.36 とまた一年
面白くやって行きましょう!