1
glob`功能我想获得它的名字看起来像所有文件的列表:$res_dir/$line/$fub_name*.istf
问题`在Perl
含义:在目录$dir
在子目录$line
与$name
开始,以.istf
结尾的文件。
每个子目录只包含1个这样的文件,但是有很多子目录。我写了这个:
foreach $line (@arr){
chomp ($line);
$new_istf = glob ("$res_dir/$line/$fub_name*.istf");
do something...
但它并没有给我所有的文件,但只有一半。当我加入了休耕调试代码:
if ($new_istf){
print "\tdbug:: $res_dir/$line/$fub_name*.istf:\t'$new_istf'\n";
} else {
print "\tdbug:: $res_dir/$line/$fub_name*.istf:\t''\n";
}
,并输出结果是:存在
dbug:: RESULTS//791202_0_SA0/ieuni5cts*.istf: 'RESULTS//791202_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791212_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791241_0_SA0/ieuni5cts*.istf: 'RESULTS//791241_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791248_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791251_0_SA0/ieuni5cts*.istf: 'RESULTS//791251_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791258_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791272_0_SA0/ieuni5cts*.istf: 'RESULTS//791272_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791273_0_SA1/ieuni5cts*.istf: ''
dbug:: RESULTS//791301_0_SA0/ieuni5cts*.istf: 'RESULTS//791301_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791333_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791349_0_SA0/ieuni5cts*.istf: 'RESULTS//791349_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791357_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791405_0_SA1/ieuni5cts*.istf: 'RESULTS//791405_0_SA1/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791432_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791434_0_SA0/ieuni5cts*.istf: 'RESULTS//791434_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791459_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791462_0_SA0/ieuni5cts*.istf: 'RESULTS//791462_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791463_0_SA0/ieuni5cts*.istf: ''
dbug:: RESULTS//791467_0_SA0/ieuni5cts*.istf: 'RESULTS//791467_0_SA0/ieuni5cts.mlc.xxx.x.istf'
dbug:: RESULTS//791471_0_SA1/ieuni5cts*.istf: ''
但所有这些文件。因为glob
假设像卖解释工作,我检查了它,当我做echo RESULTS//791463_0_SA0/ieuni5cts*.istf
(这不是由glob
每个检测到的其他文件,它提供了正确的文件名。
我也想跑作为glob的一个衬垫与没有给出结果的路径,和它的工作:
perl -e 'print glob("RESULTS//791467_0_SA0/ieuni5cts*.istf"),"\n"'
,它给了正确的结果,以及
哪里是我的代码问题