in reply to Re^4: Split a string at a given line number
in thread Split a string at a given line number

If you do want to keep the newlines, I would use (untested):
my @chunks = $string =~ /(?:[^\n]*\n){1,20}/g;