- or download this
s/class \s+ (?<class_name> \w+) \s*
(\: (\s* \w*)? \s* (?<ancestor> \w+))? \s*
$braces
//x
- or download this
$braces = qr/(?<braces>\{ ([^\{\}] | (?&braces))*? \} )/x;
- or download this
s/class \s+ (?<class_name> \w+) \s*
(\: (\s* \w*)? \s* (?<ancestor> \w+))? \s*
\{ (?<class_body> [\s\S]+ ) \} \s*;
//xm