一个简单的根据配置文件设置device的perl脚本(未完成)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值