有条件地替换每个函数调用的第n个参数 [英] Conditionally replace nth argument of every function call

查看:87
本文介绍了有条件地替换每个函数调用的第n个参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有非常大的perl源代码文件,我想替换每个出现的函数说 foo ,函数foo有一些参数,我想替换第二个参数,当前参数是十六进制整数,我想将其替换为等效的字符串。另外我想用 替换函数名 foo bar_new 例如



I have very large perl source code file and I want to replace every occurrence function say foo,The function foo has some arguments and I want to replace 2nd argument,the current argument is hex integer and i want to replace it to equivalent string.Also I want to replace function name foo with bar_new e.g.

foo(a,0x1,b,c,d) should be replaced with bar_new(a,$some_obj->one,b,c,d)
foo(a,0x2,b,c,d) should be replaced with bar_new(a,$some_obj->two,b,c,d)
 .....
 .....
foo(a,0x9,b,c,d) should be replaced with bar_new(a,$some_obj->nine,b,c,d)



基本上,我想用查找的等效字符串替换第二列。我怎么能这样做?


So basically, I want to replace 2nd column with equivalent string from look up. How can i do that?

推荐答案

some_obj-> one,b,c,d)
foo(a,0x2,b,c,d )应该用bar_new替换(a,
some_obj->one,b,c,d) foo(a,0x2,b,c,d) should be replaced with bar_new(a,


some_obj-> two,b,c,d)
.....
.....
foo(a,0x9,b,c,d)应替换为bar_new(a,
some_obj->two,b,c,d) ..... ..... foo(a,0x9,b,c,d) should be replaced with bar_new(a,


some_obj-> nine,b,c,d)
some_obj->nine,b,c,d)



基本上,我想用查找的等效字符串替换第二列。我怎么能这样做?


So basically, I want to replace 2nd column with equivalent string from look up. How can i do that?


这篇关于有条件地替换每个函数调用的第n个参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆