我有一个文件,它看起来像:perl的替代多行
<QUERY name="Secondary">
<SQLStmt>select * from my_tb;
</SQLStmt>
<QUERY name="primary">
<SQLStmt>select * from my_tb;
</SQLStmt>
<QUERY name="last">
<SQLStmt>select * from my_tb;
</SQLStmt>
我需要与其他一些SQLStmnts和查询的名字,我从收到命令行来替代SQLStmnts。
如何使用条件进行匹配和替换?
$qury_nm=shift;
$sqlstmt=shift;
undef $/;
if(/<QUERY name="$qury_nm">(.*)<SQLStmt>(.*)<\SQLStmt>/)
{
#need help here!!
substitute the matched qury_nms SQLStmt wth the $sqlstmt and write it into the same file...
}
http://codepad.org/ekwVuA5U 请参阅此链接以获得更好的视图 – Nachikethas 2010-10-26 13:31:20
我不认为“推”命令做你认为它的作用:-) – 2010-10-26 14:04:48
ooh ..it应该转移而不是推... 改变了:) – Nachikethas 2010-10-26 14:37:16