我正在尝试从perl脚本中的C文件中获取所有函数。
模式示例:
function return type
function name (function parameters)
{
到目前为止,我有:m/^(.*)\((.*)\)/
但是这也抓住了函数内部的函数,例如if
语句,所以我希望匹配{
,因为这会消除所有内部函数,但m/^(.*)\((.*)\)/\n\{/
不起作用。
如何匹配\n{
,即下一行中的{
,以便我可以抓住
add(int a, int b)
{
...但要避免,说
if(a = b)
答案 0 :(得分:2)
在CPAN上查看C::Scan结束
答案 1 :(得分:1)
在C源中没有要匹配的星号。因此,请在模式中的星号前删除反斜杠。
以下内容可能更符合您的要求:
m/^(.*?\(.*?\))\s*\n{/m