Why not do:
Code:
on @*:TEXT:*:#: {
  var %punct = $len($regsubex($1-,/[:punct:]/Si,))
  if (%punct > 50) { kick # $nick used %punct punctuation marks to flood }
}