メモ
Readonly.pmより。&Carp::croakはモジュールを書くときにエラーチェックのために、組み込みのdieのかわりに結構使います。そのcroakに関してのメモ。
sub croak { require Carp; goto &Carp::croak; }
実際にcroakが呼び出されたときに動的にCarpをロードして、gotoで飛ぶという手法。実際にcroakを呼ぶ場合は多少遅くなるかもだけど、croakを呼ぶ事態が発生しなければCarpをロードしない分ちょっと早くなるのかな。Benchmarkとって試したらいいんだけど、めどいです。