テスト終わった途端に用事がたくさん発生して困る。
このままだと1日しかレポートに割けないではないか…
怖いことになりそうだ。まぁそんなわけで今から少しづつやっていきますか。
データ処理がかなりめんどくさいはずだし。
相変わらずPerlで遊んでました。
PerlでMD5を使いたかったんですが、さて、どうしたものか。
実は、MD5のライブラリがあるんです。Digest/MD5.pmってやつが。
ただ、この.pmってやつはコンパイルしてやらないといけないんだ。
もっとも基本的なものはすでにコンパイルされたものが付属してくる。ActivePerlでは付いてきてた。
cpanってやつを使えば簡単にインストールできます。
# perl -MCPAN -e shell
cpan> install Digest::MD5
初期設定がかったるいが、ミラーサイトの選択以外はEnter連打でだいたいOK。
まぁこれでOKだったと思う。ちょっと混乱してしまったけど。
さて、これでMD5の使い方だが、多分これでOK。
#!/usr/bin/perl
use Digest::MD5;
print Digest::MD5::md5_hex("foo")."\n";
まず、useで使うパッケージを読み込む。
それでパッケージ名も指定してサブルーチンを呼び出し。
ちなみにmd5、md5_base64というのもあります。md5はバイナリそのまま。
どうもPerlでパッケージを使うときはuseを使ってやるとうまくいくらしい。
そりゃそうですよね。
Perlのオブジェクト指向、PHPのオブジェクト指向というのはあんまり重要ではないことです。
しかし使ってる人いますよね。実はこのMD5にしてもオブジェクトを作っていろいろできるらしい。
あんまり積極的に使うものではないけど、便利になることもある程度の機能です。
PHPのオブジェクト指向はちょっと見たことはあるけど、実際使ったことはありません。
まぁしかし、おもしろいことはできそうですよね。
その前に、リファレンスとサブルーチンを使いたいもんだがな。
それで今度なんか試してみるかな。
余談だが…Perlのヒアドキュメントについて。
$foo = <<"EOF";
鈴木君は"$_"を食べた。
EOF
文字列のかわりに<<"EOF"か<<'EOF'を置くと。(EOFのところは任意)
それで、その直後に文字列を書いて、行を改めて最後にEOFを書くと。
<<"EOF"と<<'EOF'の違いは変数の展開のあたり。ここでは<<"EOF"なので展開される。
これを実行すると文字列の最後に改行が入るな。
なるほどねー。