メモ

Readonly.pmより。&Carp::croakはモジュールを書くときにエラーチェックのために、組み込みのdieのかわりに結構使います。そのcroakに関してのメモ。

sub croak {
    require Carp;
    goto &Carp::croak;
}

実際にcroakが呼び出されたときに動的にCarpをロードして、gotoで飛ぶという手法。実際にcroakを呼ぶ場合は多少遅くなるかもだけど、croakを呼ぶ事態が発生しなければCarpをロードしない分ちょっと早くなるのかな。Benchmarkとって試したらいいんだけど、めどいです。