perl

Re: 元のメソッドを保存しつつオーバーライドしたい

亀レスれすがどなたも書いてなさそうだったので。 とあるメソッド(Foo#greet)を呼ぶ前にちょっとごにょごにょ前処理的なことをしたい。前処理した後は、オリジナルのメソッドを呼びたい。でも、メソッド名はそのまま(greet)でコールしたい。 元のメソッ…

相対パス指定でモジュールを use したいんですけど

Foo::Bar::Hoge Foo::Bar::Hoge::Fuga Foo::Bar::Baz みたいなモジュール構成の際に,Foo::Bar::Hoge の定義として package Foo::Bar::Hoge; # identical to: # use Path::Class; # use Foo::Bar::Baz; # use Foo::Bar::Hoge::Fuga; use Module::Relative qw…

DBIC::Schema で昔やっていたこと

Yappo さんのYappoLogs: DBIx::Class::Schemaの使い方 を読んで,空気を読まずに自分語りしたくなったので書きます。最近めっきり DBIC 使っていないんで*1アレですが,make_schema_at とか知らない(というかおそらく存在しなかった)時代にやっていた方法…

Re: Template::Plugin::Tax

Template::Plugin::Tax - Unknown::Programming について,ネタにマジレスかもしれませんが int 関数ではなく POSIX::floor, POSIX::ceil を使うべき 税抜→税込価格(to_inc_tax)は(少なくとも日本では)四捨五入ではなくて切捨(逆に本体価格にするには切…

Net::FTP がデフォルト PASV になってなくて困った

新規に Perl をインストールしたとこで cpan 等を使おうとしたら Net::FTP がファイルをとってこれなくなってました。Debug => 1 にして調べてみたら, Net::FTP>>> Net::FTP(2.77) Net::FTP>>> Exporter(5.58) Net::FTP>>> Net::Cmd(2.27) Net::FTP>>> IO::…

CPANPLUS 0.79 が Crypt::OpenPGP を要求する。

んで,Crypt::OpenPGP のインストールが結構困りものなので自分用メモ。まっさらな Perl-5.8.x な環境があったとして,まずは cpan で(気休めとして)Math::BigInt, Math::BigRat, bignum の最新版をいれておきます。そして Math::BigInt::GMP をインストー…

XSLoader 0.08

0.08 - 2007.04.29 - SAPER - [BUGFIX] Fixed installation target. http://search.cpan.org/src/SAPER/XSLoader-0.08/Changes げっ。やっぱりそれはバグだったんですか。いままで無理矢理整合性をとろうとしてました。

Template::Provider::Encoding の変更

これで自信が付いたのでUNIVERSAL::whichのバグの件をDanさんに、Template::Provider::Encodingの提案の件をmiyagawaさんにメール送ってみるかー、とか言ってみるテスト。 Class::C3の作者にメールを送ってみた - Unknown::Programming やっぱり英語でメール…

Class::C3::XS

まだ DEVELOPER RELEASE ですが http://search.cpan.org/dist/Class-C3-XS/ なんてのができてました。ワクテカ。Algorithm::C3 のほうに XS を作るのかと思ってた。

Encode.pm 最近の雑感

2.19 から ISO-2022-JP の encode() が custom fallback に対応(CHECK をきちんと CHECK するようになった)とのことでめでたい。miyagawa ++で,どこ変わったの?とみてみたら, @@ -49,7 +49,7 @@ # empty the input string in the stack so perlio is ok…

祝 DBIx::Simple 1.30 リリース

1.30 Sun Apr 8 2:29 2007 - Fixed bug #18629. Apparently Want does not consider a method call in rvalue context. The premature optimization that used Want has simply been removed. (Reported by Tomi via RT) - Fixed bug #22829. With connect($…

YAPC::Asia 2007 2 日目の感想

昨日で頭処理能力がオーバーフローしてしまったので今日は全然メモとってないのら。id:hiratara さんのメモ(←感謝)を見て思い出しつつ。 ふつ6 by Dan さん [謎] Perl 5 には println がない…でも困ったことないんですが他の言語はなぜついてるんでしょう…

YAPC::Asia 2007 1 日目の感想

YAPC 初参加。たぶん出席した方々にしかわからないメモ書きです。 全般 はてなガムもろた かなり前列のほうに座ってたんですが,プロジェクタが見づらかったのはフォーカスがあってないのか眼鏡の度がずれてきたのか Ingy a.k.a. Mr. Net の [謎] Kwiki は s…

STDOUT を置き換えてると IPC::Open3 でうまくいかなかった

コマンドを実行してその結果を取得する際に,IPC::Open3::open3() を使おうと思いました。由あって STDOUT を置換していたんですが,うまくいきませんでした。って意味ふめーなので具体的なコードで書くと, #!/usr/bin/perl use strict; use warnings; use …

perl-5.8.8 on Fedora リビルド顛末記

2007/10/11 追記 そういえば言及し忘れてましたが(FC 7 だと rel 19) * Sat Jun 23 07:00:00 2007 Robin Norwood - 4:5.8.8-19 Resolves: rhbz#196836 Apply upstream patch #28775, which fixes an issue where reblessing overloaded objects incurs sig…

speedycgi with Perl 5.8.6 のメモリリークをなおした

いや直して RT に投げたのはだいぶ昔なんですが,以前の日記で でも CGI::SpeedyCGI は Perl 5.8.6 以降ではメモリリークする(RT#13521)罠。がーん。 mod_speedycgi2 on Apache 2.2 - daily dayflower と書いてほおりっぱなしだったんでネガティブイメージ…

C++ スタイルのコメントを除去

JavaScript のコメントは C++ と同じようなスタイルなんですが,// や /*〜*/ を単純に正規表現で除去しようとすると,クォーテーションされた文字列リテラル内にコメントを含んでいる場合にうまくいきません。んで,苦し紛れに考えたコード。 my $text = sh…

Tripletail::SMIME

が,Crypt::* あたりの namespace で単体リリースされたらうれしいなぁ……とつぶやいてみるテスト。さらっと覗いてみたら他モジュールへの依存してないですよね。

elsif の warnings の位置ではまった

#!/usr/bin/perl use strict; use warnings; my $a; if (0) { } elsif ($a eq 'a') { } を実行すると Use of uninitialized value in string eq at x.pl line 8.のように「if (0)」の line で warn が出るんですが,今頃はまりました。当たり前といえば当た…

YAML::Syck のパッチ更新しました

id:charsbar さんが ActivePerl で試してくださいまして,間違ってるよとのことだったので,昨日のパッチを修正しました。ありがとうございます。具体的には Perl 5.8.7 以前だと SvRV_set() というマクロが定義されてないようです。SvRV_set() で何をしてい…

Perl と YAML

そもそも,YAML::Syck 自体の将来性が微妙なんですが, http://digit.que.ne.jp/work/index.cgi?Perl%e3%83%a1%e3%83%a2%2fYAML%2fPyYAML%e3%81%aePerl%e7%a7%bb%e6%a4%8d%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%ef%bc%882006%2e08%ef%bc%8…

YAML::Syck とアンカー・エイリアス 解決編

【YAML::Syck とアンカー・エイリアス - daily dayflower】の続きです。ついにできたどー。昨日,解決策を2つあげました。後者(RV ではなく AV / HV を syck_add_sym() する)のほうが本筋だと思うのですが,修正箇所が多くなるので前者(AV や HV に newSV…

YAML::Syck とアンカー・エイリアス

途中経過の覚え書きです。 my $o = [ {} ]; $o->[1] = $o->[0]; みたいな構造があったときに, $o->[0] = 'hello'; とすると,$o->[1] は {} (空ハッシュリファレンス)のままです。ところが, use YAML::Syck; my $o = [ {} ]; $o->[1] = $o->[0]; $o = Lo…

それ Font::TTF でできたよ

TTF フォントから EBDT / EBLC を削除するプログラムを昨日作成しましたが,CPAN をみたら,Font::TTF なるモジュールがありました。うんうん,FreeType じゃなくてこういうコンセプトのものがほしかったんです。とりあえず,そのまま読んで書いてみると, u…

EBDT と EBLC を削除する

どう見ても現実逃避&チラ裏です。本当に(ry

SVN::Repos::create

「svn ほげほげ」というクライアントコマンドに対応するモジュールは SVN::Client だけど,「svnadmin create レポジトリ」に対応するのは, use SVN::Core; use SVN::Repos; SVN::Repos::create('ディレクトリ', undef, undef, コンフィグ, プール); コンフ…

SVN::Client と SpeedyCGI の相性悪い

#!/usr/bin/speedy use SVN::Client; my $ctx = SVN::Client->new(); print "Content-Type: text/plain\n\nhello, world\n"; こんな単純なスクリプトを二度実行するだけで seg-fault します。どうも永続化する環境と SVN::* の相性が悪いみたいで,おそらく …

JE

http://search.cpan.org/dist/JE/ JE, version 0.001 JE is a pure-Perl ECMAScript (JavaScript) engine. This is still a pre-alpha release. You can't actually *use* it yet. About the only thing it can do so far is concatenate strings. If you ha…

SQLite が unable to open database file で困った

データベースファイルはちゃんと httpd から読み書きできるようにしてるのに!いろいろやってたらどうも読めるけど書けない,ということに気づきました。も,もしや,と思って「データベースファイルを置いてあるディレクトリ」の書き込み属性を on にしたら…

DBIx::Simple で count したい

SQL::Abstract が存在すること前提ですけど sub DBIx::Simple::count { my ($self, $table, $fields, $cond) = @_; if (ref $fields eq 'ARRAY' && @$fields == 1) { $fields = $fields->[0]; } $fields = '*' if ! defined $fields || ref $fields; my $res…