![](https://perlbrew.pl/images/h1-beer.png)
🍺 perlbrew 3000! 🍺
Kang-min Liu / @gugod
---
# about me
- Kang-min Liu / 劉康民
- perlbrew を作った人
- https://gugod.org
- X, GitHub: gugod
- Mastodon: [@gugod@g0v.social](https://g0v.social/@gugod)
- Perl, Kotlin, ... 他のいろいろ
---
# perlbrew って?
- 複数の perl 環境を作れるツール
- 開発環境を整える
- プロジェクトに専用の perl 環境を作る
- CI 環境をつくる
- travis-ci.com
- 自作 GitHub ランナー
- https://perlbrew.pl/
- 初めての発表は OSDC.tw 2010
- https://youtu.be/KTQp5_iS6Zg?si=ttS-0ULjzNReVL7y
---
未来
の話
---
"I would go forward in time,
and then I look backwards.
The reason for that is it's easier.
I would look backwards,
and kind of read my history...."
-- Jensen Huang (Founder & CEO of NVIDIA)
Ref: https://youtu.be/lXLBTBBil2U?si=owSJJCdXvVwhQii5&t=2720
---
未来にに進み、
それから過去を振り返ります。
理由は、その方が簡単だからです。
自分の歴史を振り返って、
読むような感覚です……
---
perlbrew
の未来
から見る
歴史の話
---
perlbrew
@ 西暦 3000 年(令和 982 年)
から見る
歴史の話
---
## 西暦 3000 年 | 令和 982 年
- 計算モデルはすごい発展
- CPU / GPU / NPU などの計算チップの種類はやまほどある
- Memory 足りないことはない
- 今 パラメター数 2 兆の大きさの LLM も個人のパソコンで動けます
- AI 経由で開発する、その方は速いですから
---
## perlbrew
### 西暦 3000 | 令和 982 年
- 開発に最適ヘルパー
- 全種類 AI と統合
- 全種類の OS に対応
- 全種類チップに対応
---
hey perlbrew,
最近の3つのヴァションのPerlで、
新しいの環境を作って、
このプロジェクトに
必要のモジュールを
全部いれてくれ
---
hey perlbrew,
perl 5.40 以上のヴァションでテストし、
失敗したところを分析してくれ
---
hey perlbrew,
このてテスト報告と同じエラーに
成れる環境を作ってくれ
---
hey perlbrew,
いまのプロジェクトを
コンテナに入れ、
入り口は port 3000 にしてくれ
---
## perlbrew
### 西暦 3000 年 | 令和 982 年
- perlbrew 自体が AI
- AI 同士と任務を完成させる
- 全種類エディタ + Copilot 対応
- 全種類 CI/CD 環境対応
- 本番環境の作りも
---
![perlbrew mascot designed by Dall-E 3](https://hackmd.io/_uploads/SywSq450C.png =512x512)
(perlbrew mascot, by Dall-E 3)
---
## perlbrew
### 西暦 2500 年 | 令和 482 年
- 全 perl バーション対応
- perl-1.0 .. perl-5.992 (推定)
- バイナリや VM などで提供
- Linux の container や
macOS の Rosetta や
Windows の WLS 感覚で動く
- 全 OS バーション対応
- もしくは OS の界隈はボケてる
---
## perlbrew
### 西暦 2500 年 | 令和 482 年
- perlbrew 自体でもバイナリ
- perlbrew.pl as a Web API Service
- perl バイナリ
- CPAN module bundle バイナリ
- 環境を瞬時に用意する
- パッケージやVMなど
---
## perlbrew
### 西暦 2100 年 | 令和 82 年
- perl アプリをバイナリ化にする機能
- 自分のソフトをバイナリパッケージの作りをの時短する
- CPAN 生態系との統合
- 全 CPAN モジュールバーション対応
- 古いモジュールでも
- あらゆるいいツールと統合
- cpanm / cpm / cpx
- PAR / fatpack
---
( 如何ですか? )> ![perlbrew mascot designed by Dall-E 3](https://hackmd.io/_uploads/SywSq450C.png =256x256)
---
( 時を戻す )> ![perlbrew mascot designed by Dall-E 3](https://hackmd.io/_uploads/SywSq450C.png =256x256)
---
2024/10/4
perlbrew 1.00 を
函館で
リリースしました
---
## perlbrew
### 2024 の 1.00 メイン機能
- 同じ OS に複数 Perl 環境をつくること
- 5.8 ... 5.40
- 同じバーションの perl に複数の `local::lib`
- 🌟 skaji/relocatable-perl の対応
- 🌟 環境全体を一つ PAR に
---
## PAR って?
- PAR - Perl ARchive
- Java では JAR、Perl では PAR
- python 3 の zipapp とも似ている
---
# perlbrew + PAR
```bash
# 環境作り
perlbrew install perl-5.40.0
perlbrew lib create perl-5.40.0@tldr
perlbrew use perl-5.40.0@tldr
# tldr を入り
cpm install -g PAR::Packer App::tldr
# バイナリの ~/bin/tldr を作る
perlbrew make-pp -i $(which tldr) -o ~/bin/tldr
```
`~/bin/tldr` は
同じ OS の別のマシンに
コッピーしてだけで、動ける
---
## not in perlbrew 1.00
- Windows は [berrybrew](https://github.com/stevieb9/berrybrew)
- IntelliJ IDEA - [Perl5-IDEA](https://github.com/Camelcade/Perl5-IDEA)
- VSCode - [PerlNavigator](https://marketplace.visualstudio.com/items?itemName=bscan.perlnavigator)
- Emacs
- https://github.com/kentaro/perlbrew.el
- https://github.com/dams/perlbrew-mini.el
---
## 1.00 ... 3000
- 編集環境との統合
- perl のバイナリを提供すること
- パッケージツールとの統合
- VM / Container を作る
---
## 1.00 ... 3000
- 環境構築ツールとのとの統合
- Carton, cpm など
- docker, k8s など
- ansible, puppet, chef など
- OS との統合
- Linux: glibc, musl
- macOS: aarch64, x86_64
---
## perlbrew
### 0.10 ... 1.00 は...
- 148 名のコントリビューターからの PR で成り立つました。
- 様さの人で環境統合してくれました
- ユーサーさんたちブログ文章を書いてくれました
- ユーサーさん perlbrew をでアプリをつくりました
---
## perlbrew
### 1.00 ... 3000 は... ?
目標:全環境対応開発に最適ヘルパー
...という「歴史」は如何ですか?
---
## perlbrew
### 1.00 ... 3000 は...?
コントリビューターさん
1000 人ぐらい欲しい
PR ください 🫰
---
![](https://perlbrew.pl/images/h1-beer.png =256x256) ![perlbrew mascot designed by Dall-E 3](https://hackmd.io/_uploads/SywSq450C.png =256x256)
😎 ご清聴ありがとうございました
🍺 Happy perlbrew-ing! 🍺
Kang-min Liu / @gugod
{"description":"updated_at: 2024-08-03T17:48:50+0900","title":"🍺 perlbrew 3000! 🍺","slideOptions":"{\"transition\":\"none\",\"touch\":true,\"theme\":\"solarized\"}","contributors":"[{\"id\":\"dcce249b-7b0f-4093-b97b-479c7762dfba\",\"add\":10075,\"del\":11373}]"}