Index
Sat Nov 15 06:20:25 PM CST 2025
https://gist.github.com/dex4er/0e2ef2d1582307a14329
看到有个 fatpack mojolicious,感觉有意思。看来 mojolicious 可以用不带 c 扩展的纯 perl 实现?
[2] hepnode0 18:37 ~/tmp/mojo-fatpack
0 perl packed.pl daemon
Unable to open html entities file (resources/html_entities.txt): No such file or directory at packed.pl line 5742.
Compilation failed in require at packed.pl line 5742.
BEGIN failed--compilation aborted at packed.pl line 5742.
Compilation failed in require at packed.pl line 22280.
BEGIN failed--compilation aborted at packed.pl line 22280.
Compilation failed in require at packed.pl line 785.
BEGIN failed--compilation aborted at packed.pl line 27002.
Compilation failed in require at packed.pl line 34899.
BEGIN failed--compilation aborted at packed.pl line 34899.
好像不行。
>42s< hepnode0 18:38 ~/tmp/mojo-fatpack
0 cp -a ~/.package/pkgsrc/lib/perl5/vendor_perl/5.42.0/Mojo/resources/ .
fatlib/ fatpacker.trace fatpack-mojo-app.sh* mojo-app.pl mojo-app.plc* packed.pl packlists resources/
hepnode0 18:39 ~/tmp/mojo-fatpack
0 perl packed.pl daemon
[2025-11-15 18:39:32.14857] [3105561] [info] Listening at "http://*:3000"
Web application available at http://127.0.0.1:3000
哦哦,把 resources 拷过来就好了。
还真能用。看看异步行不行。还真可以。好玩。
看了下 reactor 用的是 Mojo::Reactor::Poll
不用那个 github 脚本,直接 fatpack 也能用。
但是 async await 就用不了了,因为需要依赖 Future::AsyncAwait,那个是要 .so 的。只能用古法 continuation 编程了。
嘻嘻,可以用 mojolicious 写小玩具什么的。