$str =~ s/((?:[^\n]*\n){3})[\w\W]*/$1/;
改行3個目以降切り捨て。
多分最適化の余地あり。