トップ(最新)

nDiki : Perl v5.8.0

Perl v5.8.0

2002年7月18日リリース。

PerlIO が導入された。

約1年後の、2003年9月25日に Perl v5.8.1 がリリースされた。

関連情報

スポンサード リンク

Related term

2003年4月22日 (火)

CPANPerl モジュールRPM パッケージ化する このエントリーを含むはてなブックマーク

会社のサーバは Red Hat Linux 8.0 にしたので RPM パッケージを作らんと。 RPM::Specfile モジュールに CPANPerlモジュールを RPM パッケージにするツール cpanflute2 が入っている。 なので、まずはこいつをこいつ自身で RPM パッケージ化してインストールしてコイツで RPM パッケージを作れる環境を。

Perl のバージョンは v5.8.0。 まず、/tmp/RPM-Specfile の下にステージ1としてインストールRPM::Specfile の依存しているライブラリのうち Archive::Tar が無いようなので、これもビルドする。

 cd /tmp
 tar zxvf Archive-Tar-0.23.tgz
 cd Archive-Tar-0.23
 perl Makefile.PL PREFIX=/tmp/RPM-Specfile SITEPREFIX=/tmp/RPM-Specfile
 make
 make test
 make install

次に RPM::Specfile を。

 export PERL5LIB=/tmp/RPM-Specfile/lib/perl5/site_perl/5.8.0
 cd /tmp
 tar zxvf RPM-Specfile-1.11.tar.gz
 cd RPM-Specfile-1.11
 perl Makefile.PL PREFIX=/tmp/RPM-Specfile SITEPREFIX=/tmp/RPM-Specfile
 make
 make test
 make install

これで /tmp/RPM-Specfile/bin/cpanflute2 ができる。 /tmp/RPM-Specfile/lib/perl5/site_perl/5.8.0 にPERL5LIBを通したまま

 /tmp/RPM-Specfile/bin/cpanflute2 --buildall Archive-Tar-0.23.tgz
 /tmp/RPM-Specfile/bin/cpanflute2 --buildall RPM-Specfile-1.11.tar.gz

これで

  • perl-Archive-Tar-0.23-8.src.rpm
  • perl-Archive-Tar-0.23-8.i386.rpm
  • perl-RPM-Specfile-1.11-8.src.rpm
  • perl-RPM-Specfile-1.11-8.i386.rpm

ができあがる。

ステージ2。

ルート権限でバイナリパッケージをインストール

 rpm -ivh perl-Archive-Tar-0.23-8.i386.rpm
 rpm -ivh perl-RPM-Specfile-1.11-8.i386.rpm

これで (PERL5LIB を設定する事なく)/usr/bin/cpanflute2 が使えるようになる。 これで、パッケージ化し放題(本当か?)

スポンサード リンク


[ 4月22日全て ]

2003年4月23日 (水)

[ WiKicker ] SunOS 5.6 にインストール このエントリーを含むはてなブックマーク

結局flock 問題は、File::Flock モジュールを使う事にする。 $^O eq 'solaris' な時は File::Flock::lock を使うようにコードを修正。

それから、RCS まわりでも問題。

 Warning: missing newline at end of file /tmp/...

といった感じの警告が出て期待した結果が得られない。 調べてみると rcsdiff の呼び出しで警告。 実際には diff が吐いている。 Sun の diffGNU diff ではファイル末処理が違うようだ。 ということで、こちらは diffutils-2.8.1 と rcs-5.7 を home の下に入れて解決。

ふう、これで WiKicker

で動く事を確認。都合5つ(SunOS は一つのホストで2個動かしている)。 今の所の注意点は

といったところか。


[ 4月23日全て ]

2003年12月23日 (火)

Time::Local::gmtime の範囲チェック このエントリーを含むはてなブックマーク

Perl v5.8.x だと、Time::Local::gmtime できちんと範囲チェックが動作している(範囲外だと croak される)のだが、Perl 5.005_03 では必ずしもそうではないようだ。 WiKickerデバッグ中に発見。

でソースを読んでみると、古い Time::Local では cheat サブルーチンで

  • 範囲チェック
  • 指定した年月の開始 gmtime を計算し、%cheat にキャッシュ

している。同一年月での2度目以降 timegm 呼び出しでは %cheat キャッシュを使用して cheat サブルーチンを呼びにいかないので、範囲チェックが実行されないという塩梅。 つまり 2003年1月1日… で一度 timegm を呼び出すと2003年1月に関しては以降 cheat サブルーチンは呼ばれないため、次に 2003年1月33日…で読んでもエラーにしてくれないというわけ(最初に2003年1月33日…で呼んだ場合はちゃんとエラーになるので逆に厄介)。

Perl v5.8.0 以降に標準ではいっている Time::Local ではきちんと毎回チェックする。 うるう年・大の月/小の月も考慮してチェックされる(v5.8.0 より前のでは 31 より大きいかのチェックのみ)。

であり、CPAN では 5.005_03 でも動作する Time::Local パッケージ (1.05~)が公開されている。

Time::Local 1.04 以降を PREREQ_PM にしてもいいのだが、5.005_03 な利用者にとってはインストールするのも面倒か。 最低限のエラーチェックを自前で用意して、互換になるようにした方がいいかな。


[ 12月23日全て ]

2003年12月28日 (日)

[ WiKicker ] Locale::Maketext による localization このエントリーを含むはてなブックマーク

リファクタリングにあわせて、表示の localization を開始。 といっても、とりあえず日・英のみ。 Local::Maketext モジュールを使用することにする。 HTTPAccept-Language リクエストヘッダによる言語の判別もモジュールがやってくれるのでお便利。 コレ、Perl v5.8.0 からは標準で入っているのだがそれより前のバージョンでは自前でインストールする必要あり。

メッセージはこれで順次リソース化していけるのだがまだ日時表示など日本語向けにハードコーディングしている場所があり、こちらの手直しも必要。


[ 12月28日全て ]

2006年2月17日 (金)

SVN::Webインストール失敗 このエントリーを含むはてなブックマーク

社内サーバ上の Subversion リポジトリを気軽に閲覧できるように、以前から試そうと思っていた SVN::Webインストールしてみる。

しかし SubversionPerl バインディングである SVN::Core は、Subversion パッケージに同梱されていて独立していないのか。 SubversionRed Hat Linux 8.0 へ RPM パッケージで入れているのだが、SVN::Web の方は /usr/local/perl-5.8.8 以下にインストールした Perl v5.8.8 上へ入れようと思っていたので、はたと困る。

 --with-perl5=/usr/local/perl-5.8.8/bin/perl

で configure して、Perl モジュールだけインストールしてみたけれどうまく動かず。

素直に Red Hat Linux 8.0 に標準で入っている Perl v5.8.0 に入れるかなぁ。


[ 2月17日全て ]

2006年9月14日 (木)

WiKicker 0.38 リリース - 認証承認用コードの実装 このエントリーを含むはてなブックマーク

朝一で WiKicker 0.38 をリリース。 昨晩コードを完成させておいたものを Perl 5.005_03 上でテストしたら、ExtUtils::MM が 5.005_03 にはないことに気がついた。 調べると標準で入っているのは Perl v5.6.2 / Perl v5.8.0 から。

ということで急拠 ExtUtils::MM を使っているツールは今回のリリースから除外してパッケージング。

今回のリリースでは認証・承認フレームワークの実装が含まれるようになったのが中心で、基本的な機能には特に変更なし。


[ 9月14日全て ]

2007年3月8日 (木)

Perl の constant プラグマで1度に複数の定数を定義できるのは Perl v5.8.0 から このエントリーを含むはてなブックマーク

'use constant' を使った Perl プログラムを Perl 5.005_03 下で動かしたらエラー。 調べてみると、

 use constant {
     SEC   => 0,
     MIN   => 1,
     HOUR  => 2,
     MDAY  => 3,
     MON   => 4,
     YEAR  => 5,
     WDAY  => 6,
     YDAY  => 7,
     ISDST => 8,
  };

  (constant 1.04 Pod より)

という形で複数の定数をまとめて定義できるのは constant 1.04 からだ。

Perl 5.005_03 は 1.00、Perl v5.6 系は 1.02 で、1.04 になったのは Perl v5.8.0*1 なので、この形を使えるのは Perl v5.8 以降ということになる。

*1奇数系を入れると Perl v5.7.3 から


[ 3月8日全て ]

スポンサード リンク

■よく検索されるキーワード

提案書(75) torrent(69) perl(61) 書き方(45) 充電式カイロ(43) windows(38) x31(36) 使い方(32) linux(32) cvs(25) アジェンダとは(25) usb(25) thinkpad(23) 静電気(21) サンプル(20) 口コミ(20) ヨドバシ(20) アジェンダ(20) 画像(19) debian(19) ubuntu(19) mp980(18) f-01a(18) 手帳(17) tc-1(17) 秋葉原(16) ssh(16) subversion(16) グッズ(16) a6(15) 壁紙(15) ほぼ日手帳(15) c#(14) ダイソー(14) svn(14) 交換(14) インストール(13) 加湿器(13) firefox(12) ノート(12) 無印(12) 日本語(12) wiki(12) ganttproject(12) デロンギ(11) 方眼(11) ヨドバシカメラ(11) デザイン(11) nikkor(11) 設定(11) 作り方(11) dropbox(11) af(10) terastation(10) memcached(10) レビュー(10) カバー(10) カイロ(10) 2009(10) 除去(10) nikon(10) tortoisesvn(10) クラリチン(9) ガントチャート(9) 動画(9) ポメラ(9) ご査収(9) rcs(9) モジュール(9) n-01a(9) フィルム(9) 写真(9) システム手帳(9) edition(9) porter(9) xp(8) imap(8) 4c(8) docomo(8) ミニ6穴(8)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 15.207324s / load averages: 0.57, 0.65, 0.65
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)