んじゃ空行は1回限りの場合ってことで。
怒ってる人もいるようだからあとは自分でなんとかしてくれ。

open IO, "+< hoge";
$lines = @in = <IO>;
foreach (@in) {
$lines--;
$_ = "Lines: $lines\n\n" if (/^$/);
}
seek IO, 0, 0;
print @in;
close IN;