perl脚本如下:

#通过devices得到现在的sdk
@trueDevices=`devices`;
foreach (@trueDevices) {
if (/default/) {
s/ - default//;
}
chomp;
}

#从配置文件读入关键字
$configFileName='d:perlprojectconfig.txt';
open CONFIGFILE,"<$configFileName" or die 'configfile err!';
@config=<CONFIGFILE>;
chomp @config;
close CONFIGFILE;

#在数组中,找到注释的行和set=的行
for ($i=0;$i<@config;$i++) {
$eachConfig=$config[$i];
if ($eachConfig=~/#.*/) {
push @delIndexArray,$i;
}
else {
if ($eachConfig=~/set=/) {
$eachConfig=~s/set=//;
push @delIndexArray,$i;
$setConfig=$eachConfig;
}
}
}

#去掉注释行和set=的行
for ($i=@delIndexArray-1;$i>=0;$i--) {
splice @config,$delIndexArray[$i],1;
}

for ($i=0;$i<@config;$i++) {
if ($config[$i]=~/$setConfig/) {
printf " $i: $config[$i] ";
$toSetDeviceKeyword=$config[$i];
$toSetDeviceKeyword=~s/.*=//; #去掉=之前的所有的,留下的关键字
}
}

printf "$toSetDeviceKeyword=$toSetDeviceKeyword ";

for ($i=0;$i<@trueDevices;$i++) {
if ($trueDevices[$i]=~/$toSetDeviceKeyword/) {
&SetDevice($trueDevices[$i]);
}
}

sub SetDevice {
#第一个参数是要设置的sdk标识
$device=$_[0];
printf "device:$device ";
if ($device=~/w/) {
#device非空,进行处理
#如果有 - default,则去掉 - default
$device=~s/ - default//;
system "devices -setdefault @$device";
return 0;
}
else {
printf "device里什么都没有 ";
return -1;
}
}






































































配置文件config.txt如下:
#abc
set=2.2a
2.1a=2.1akey
2.2a=2nd_FP2_SC
2.3a=2.3akey
3.0a=3rd_MR
3.1a=3.1akey