- 论坛徽章:
- 1
|
本帖最后由 jiaxinhuayuan 于 2014-10-27 20:49 编辑
实现目的:解析xml文件,class属性中包含dbcp2字符串的,他们包含在<bean></bean>中,将满足条件的这其中的name和value的值打印出,其中有注释的不打印。
#!/usr/bin/perl -w
use 5.010;
use strict;
my @to_be_processed_files=("applicationContext-mybatis.xml","accountservice.xml");
foreach my $xmlfile(@to_be_processed_files)
{
open TXT,$xmlfile or die $!;
while(<TXT>)
{
if(m{\s*<!--})
{
while(<TXT>)
{
if(m{\s*-->})
last;
}
}
if({\s*\w* class=.*(dbcp2).*}/i)
{
while(^m{\s*</bean>})
{
if(m{\s*\w* name=(\w+) value=(\w+)})
print $1,"\n",$2;
}
}
}
}
求解语法哪儿出了问题,新手急求帮助! |
|