例えば、 Ima::DBI の _mk_db_closure() を再定義する場合、
次のように書いて、「use MyPlugin 」しましょう。
package MyPlugin; use strict; use warnings; use Ima::DBI; sub import { no strict 'refs'; no warnings 'redefine'; *{"Ima::DBI\::_mk_db_closure"} = \&_mk_db_closure; } sub _mk_db_closure { my ($class, $dsn, $user, $pass, $attr) = @_; } 1; __END__
「use 〜」は以下の処理と同等です
BEGIN { require MODULE; MODULE->import(LIST); }