タグ

ブックマーク / dayflower.hatenablog.com (2)

  • DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower

    追記 2006/12/06 下記で IS NOT NULL を実現するのにスカラーリファレンスを使用していますが,IS NULL / IS NOT NULL を出すためには必ずしもスカラーリファレンスを利用する必要はありません。ということで訂正を入れようと思ったんですがちょっと長いので「フォローアップ記事」を書きました。 題 typester さんに以前教えて頂いたんですが,似たようなことに今日遭遇したのでメモ。 WHERE field1 IS NOT NULL な検索をしようと思って, $resultset->search({ field1 => 'IS NOT NULL' });と書くと,内部的には SELECT ... WHERE field1 = ?と展開されて,プレースホルダに「IS NOT NULL」が渡されるので,バツ。 $resultset->search({ field

    DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower
    wittro
    wittro 2013/08/21
  • base (< 2.14) が $SIG{__DIE__} を破壊するのではまった - daily dayflower

    たとえば, #!/usr/bin/perl use strict; use warnings; local $SIG{__DIE__} = sub { warn "signal handled"; die $_[0]; }; require Foo; die "foo"; こんなスクリプトがあったとして,実行すると, signal handled at test.pl line 7. foo at test.pl line 12.みたいになる(それなりの package Foo があったとして)。 ところが,その package Foo の中身が package Foo; use strict; use warnings; use base qw( URI ); # なんでもよい のようになっていた場合。つまり,(パッケージ指定の)use base を使っているときに,実行すると, foo

    base (< 2.14) が $SIG{__DIE__} を破壊するのではまった - daily dayflower
  • 1