2年近く前にPerlで作られたシステムの改修の依頼をいただいての作業中に、Class::DBI::AbstractSearchで利用されているSQL::Abstractに、副作用のある箇所を見つけました。(とその時はおもったのです) 気がついたのは、DB操作の流れを確認したくてClass::DBIの発行するSQLとバインドされる値をトレースしていた時。 $where = { 'date' => [ '-and', { '>=' => '2007-03-30' }, { '<=' => '2007-03-31' } ], }; ..... my ($stmt, @bind) = $sql->where($where, $order);