敢问各位高手
在下没碰过程式 这是第一次碰
所以问题可能很愚蠢 还请大家见谅 ><
code附在最下面
我要写一个perl程式 一个for的小循环
就是我有一个arrfile
里面有一个档名,每个档名有一个对应的数字
像下面这样
20130327.N.HLA.01 22.24
20130327.N.HLA.02 20.24
20130327.N.HHA.02 10.00
20130327.N.HLB.01 22.24
20130327.N.HLB.02 25.15
20130327.N.HHB.02 22.24
20130327.N.ALC.01 23.13
20130327.N.ALC.02 22.24
20130327.N.HHC.02 22.25
20130327.Q.HLA.01 22.24
20130327.Q.HLA.02 22.25
20130327.Q.HHA.02 10.00
20130327.Q.HLB.01 22.24
20130327.Q.HLB.02 25.15
20130327.Q.HHB.02 22.24
20130327.Q.ALC.01 25.15
20130327.Q.ALC.02 22.24
20130327.Q.HHC.02 22.25
我假设fileheader是档名,Parr是对应的数字
然后我要把档名中,倒数
第二个字段的最后一个字符是A的档案丢到file里,再丢到第一个副程式auto去执行
同样的,倒数第二个字段的最后
一个字符是B跟C的档名,丢到file1跟file2里,再丢到第二个副程式autoH去执行
使用awk的那个地方 我也有点乱了 不晓得写的对不对 QAQ
因为像
20130327.N.ALC.01 23.13
20130327.N.ALC.02 22.24
这两个档案都含有A跟C 但我实际上是以最后一个字符来做分类的
以下是我一部分的CODE
########
if(-e $arrfile){
@fileheader=`awk '{print \$1}' $arrfile`;
@Parr=`awk '{print \$2}' $arrfile`;
for($j=0;$j<@fileheader;$j++){
chomp($fileheader[$j]);
chomp($Parr[$j]);
$file=$fileheader[$j]=grep'A' $arrfile |`awk '{print $0}' $arrfile`;
&auto($file,$Parr[$j]);
$file1=$fileheader[$j]=grep'B' $arrfile |`awk '{print $0}' $arrfile`;
$file2=$fileheader[$j]=grep'C' $arrfile |`awk '{print $0}' $arrfile`;
&autoH($file1,$file2,$Parr[$j]);
..........
}
sub auto {.........
sub autoH {...........
########
后面的"........"是已经写好而且正确的code
麻烦各位强中好手帮忙解答了 谢谢><