Ellinikonblue.com Weblog

夢は夢のまま終わらせない…

Posted on Mar 18, 2020 at 15:57

PA-API v5 に Perl で対応するに当たって躓いたこと

 Ellinikonblue.com Weblog で、PA-API v5 に対応するに当たって、 最初、WSL 上の Ubuntu (18.04 LTS) で、 テスト用のサブルーチンを作り込んだのですが、 なんとか Ubuntu で、応答がもらえるプログラムができて、 今度は同じそれを CentOS 7 で動かしてみたところ、 エラーしか返ってこない状況に悩まされ続けました。

 モジュールに不足があるわけでもなく、最後は Perl のバージョンまで疑ったのですが、 結論、LWP::Protocol::https のバージョンアップを行っただけで、 Ubuntu で通ったプログラムがそのまま、 CentOS でも動きました。

 LWP::Protocol::https のバージョンの差(このバージョンアップに紐付いていくつかのモジュールも 自動的にバージョンアップされますが…)で、何が起こっていたのかまでは正確に言及はできませんが、
perl -MIO::Socket::SSL=debug3 test.pl
として、実行したときの応答が明らかに違うので、原因はこのモジュールで間違いないと思います。

 CentOS は yum でインストールできる 標準リポジトリから perl 本体もモジュールも拾ってきていました。
 いざ、モジュールのバージョンアップとなった際、昨今は cpanm と言う便利なコマンドがあって、 これを使って LWP::Protocol::https をインストールすると、 依存関係も含めて必要なモジュールはすべて拾ってきてくれて、 かつ CentOS の 標準リポジトリからインストールしたモジュールより優先して使用してくれるので、 実質、モジュールのアップデートを行えば perl のバージョンアップなどせずともすべて解決しました。

 このあたりの perl の環境整備や cpanm については、別途、 今後のことを含めてもう少し詳しめにまとめておこうと思います。

Posted on Mar 03, 2020 at 10:57

甘茶蔓 (amachazl)

 PA-API v5 移行というちゃぶ台返しのために、 必死になって、なんとか Perl での対応は終わらせ、死に体のここについては 対応が済んで入るのですが、PHP での対応に四苦八苦しており、 どうも v4 停止の期限までに間に合いそうにありません。

 ひとまず amazlet で…と思っていたら 3 月 9 にこれも停止… orz

 万事休す…と思っていたら、甘茶蔓 (amachazl) と言う救世主が現れました!
 amazlet 互換 PA-API v5 対応のスーパーツールで、 これで急場は凌いでもらえるのではないかと…

 問題は PHP に関する自分の勘がいつ戻ってくるか… なんせ 5 年ぶりくらいに、コードを書くハメになっているので… (_ _;A 甘茶蔓 (amachazl) - amazon associate link generator