if ($foo !~ m/\A(?: #anchor start and group (?:.{41,}\n)* #maybe some long lines (?:.{0,40}\n) #one short line ){5,} #five or more (?:.{41,}\n)* #maybe some more long lines \z #anchor end /x ) { #do something }