SelfLoader

ドキュメント見ればいいです。
http://perldoc.perl.org/SelfLoader.html

use strict;
use warnings;
use SelfLoader;

# 1 while(<DATA>); # 先にDATAを全て読み出してしまうとダメ

print foo() . "\n"; # OK
print bar() . "\n"; # SelfLoaderを使っている && まだDATAに定義が残っていれば OK
print baz() . "\n"; # エラー

sub foo{
	100;
}

__DATA__

sub bar {
	200;
}

かなりトリッキーですね。使い道は思いつかないけど。
呼ばれる頻度が少ない&&ロード時に非常に時間がかかるモジュールを読むときとかに使うんですかね。