in reply to Parsing C Functions..

How about just matching open/close brace pairs that are at column 0? Will that work for you? Something like:  m/^\{.*?^\}/ms

Another option is to fully parse the C code. There's a good start at this described here: Converting C to English with Perl

Update: Here's another grammar which might help: Parsing C