質問があります。
Perlのスクリプトって、いったん全部をコンパイルしてから処理をするのでしょうか?
それとも、そのルーチンで必要な部分だけピックアップしてコンパイルするのでしょうか?

なんでこんな質問をするかといいますと、

if ($hoge) { require "hoge.pl"; &hoge(); }
といったソース書いたとします。
$hogeがtrueにならなかったときには、hoge.plの中にエラーがあっても、
警告されないような気がするんです。

だとするのなら、ケースによって全く異なる処理になるようなルーチンは、別のファイルで
作成した方が、スクリプト自体が小さくなり、より高速に処理が終了するのかな?
という風に想像しているのですが。

「むしろrequireで呼び出すファイル分ディスクアクセスが発生したりいろいろで、
 その場合は遅くなる」
という風な想像もあったりするのですが、その辺みなさんはどうお考えなのか、
ぜひお教え下さい。