sub import { my ($package) = (caller(1))[3] =~ /^(.*::)/; no strict 'refs'; warn Dumper \%$package;
import() は BEGIN ブロックで処理され、 BEGIN ブロックを処理してるときはまだ呼び出しもとパッケージのシンボルテーブルの情報は空っぽだった。 use しただけで呼び出しもとのパッケージのすべてのサブルーチンにフックを追加するようなモジュールは、こういうやり方だと出来ないようだ。
追記
http://d.hatena.ne.jp/ktat/20081120/1227119003 で、 use Bar; をおしりに書けば良い、と教えてもらいました。なるほど。