perldoc-jp / perldoc.jp

https://perldoc.jp のソース
https://perldoc.jp/
10 stars 2 forks source link

functions.txtはignoreしつつ、なくても動くようにする #37

Closed kfly8 closed 12 months ago

kfly8 commented 1 year ago

問題

現在、functions.txt がない場合(リポジトリの初期状態)では、次のエラーが出ています。

% plackup -Ilib app.psgi
> Error while loading /Users/kfly8/src/github.com/kfly8/perldoc.jp/app.psgi: Cannot open file: functions.txt at lib/PJP/Util.pm line 12

% perl script/update.pl
Cannot open file: functions.txt at lib/PJP/Util.pm line 12.

原因

これは、functions.txtを、PJP::M::BuiltionFunctionのuse時にslurpしようとしているためです。 https://github.com/jpa-perl/perldoc.jp/blob/e265a519ce1c06f593f0b5c872babd860665b064/lib/PJP/M/BuiltinFunction.pm#L18

対応

このPRでは、functions.txt は、ignoreしつつ、functions.txtが無くても、 script/update.pl が動作し、plackupもできるようにしました。

ignoreしてもscript/update.plを動かせば、次のように関数のリストは更新されるので、運用には問題はないと思っています。

% rm functions.txt
% perl script/update.pl
% head functions.txt
lstat
getprotobyname
s
gethostbyname
getnetent
-B
tr
setprotoent
read
getnetbyaddr