【Perl】Crypt::SSLeayをインストールする際に気を付けること

投稿日: / 更新日:

この記事は2年以上前に書かれたものです。情報が古い可能性があります。

今回はちょっと趣向を変えて、Hinemos以外の技術的なトピックに触れてしようと思います。最近は、あまりPerlを触っていなかったので、久々にPerlの話題にしてみます。

実は、少し必要があって、先ほどPerlでCrypt::SSLeayをインストールしようとしたのですが、例によってテストで躓いてしまいました。テストのエラー出力を見ると、以下のようになっていました(ちなみに環境はCentOS 6.0、Perl-5.14.2です)。

t/01-connect.tが最初のテストに失敗したようです。テストコードの該当箇所を見てみると、以下のようになっていました。

コードを見る限り、接続に失敗する分岐が期待されています。そして、実際に接続に失敗していて、エラーメッセージ(“$@”)も期待されたものが出力されているにも係らず、なぜか★の分岐を通っているようです。

再度、エラーメッセージ(“$@”)に着目してみました。”Connect failed: connect: 接続を拒否されました~”となっており、”connect: “の後がマルチバイト文字(“接”)になっています。一方、正規表現の方は、パターンの最後に単語境界(“\b”)を期待しています。どうやら、”接”の直前が単語境界になっていないのが原因のようです。

対処法としては、日本語で出力されているエラーメッセージを(もともとの想定どおり)英語になるようにすれば良さそうです。以下のコマンドで再度インストールしてみました。

今度は、想定どおりテストにパスし、モジュールを無事インストールすることができました。

#ちなみにCentOSの場合、上記以外にも、事前にopenssl-develをインストールしておく必要があります。

以上、簡単ですが、PerlでCrypt::SSLeayモジュールをインストールする際の注意点をご紹介しました。

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。