複数行文字列の最初のn行をprintするスマートな方法ありますか?

$lines =~ /((.*\n?){$n])/m;
print $1;

考えたけど、これが限界でした。