CentOS の Perl で DateTime を使用する
SETUP
.style1 {
background-color: #FFFFFF;
}
.style2 {
white-space: nowrap;
}
CentOS 5.6 の Perl で DateTime モジュールを使用する
CentOS 5.6 上で動作している Perl で DateTime モジュールを使おうと思ったところ、CPAN でのインストールに失敗してしまいました。
CPAN については以前に CPAN を用いて Perl モジュールをインストールする でお話したことがありましたけど、この方法で DateTime モジュールをインストールしようとしてみたところ、次のようなエラーが表示されてしまいました。
make: *** [test_dynamic] エラー 255
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
この時には "Test::Harness" パッケージをアップデートすれば解消されるという話も聞きましたけど、CentOS 5.6 の場合には yum を用いて "perl-DateTime" パッケージをインストールすることで、DateTime モジュールを利用できるようになるようでした。
CentOS 5.6 で Perl の DateTime モジュールをインストールするためには、次のようにします。
yum install perl-DateTime
ただしこのとき、自分が試してみた感じでは、perl-DateTime パッケージは EPEL リポジトリから、そしてそれが依存する perl-Class-Singleton パッケージと perl-Params-Validate パッケージは RPMFORGE リポジトリから、インストールされるようでした。
これらのリポジトリの設定方法については CentOS 5.5 に EPEL リポジトリを追加する や CentOS 5.4 のシステムアップデート取得先としてリポジトリを追加する などで触れていますので、必要に応じてそちらも参考にしてみてください。
このように perl-DateTime パッケージをインストールすることで、次のように DateTime モジュールを Perl 内から利用できるようになりました。
use DateTime;
my $datetime = DateTime->now(time_zone => 'local');
my $filename = $datetime->strftime('/var/log/%Y%m%d.log');
このような感じで、日付に基づいた文字列を生成するようなことも、簡単にできるようになりました。