>>243
>ifで分岐して必要なときだけrequireする
これでだいたいあってる

requireは「実行された時」にモジュールが読み込まれる
サブルーチン呼び出しまで読み込みを遅延するにはAutoLoaderを使う

useの場合は「コンパイル時」
だからこれは式に関係なく常に読み込まれる
if (式) { use Foo; }

条件分岐したいならこう
if (式) { require Foo; }