需要帮助Perl

时间:2016-07-14 11:32:27

标签: string perl gps

我不知道Perl,但现在我需要更正Perl脚本,所以我希望你能帮助我。 我有一个Perl脚本,允许处理具有下一个名称结构的文件:CCCCNNNN.16X,其中CCCC - 4个字符,NNNN - 4个数字,X可能是“o”或“n”,例如bshm1930.16o。 此脚本为Linux命令行创建命令,但它不会选择正确的文件。据我了解,问题出现在这部分代码中:

# add ephemeris file
$ephfile = $rawfile;
$ephfile =~ s/$stationID/bshm/;
$ephfile =~ s/\.([90][0-9])o/.$1n/;
push @opt, "--nav $ephfile";

这里我需要选择* .16n类型的文件,但代码返回* .16o。我应该更改什么才能获得16n扩展名的文件,而不是16o? 提前谢谢!

simbabque,谢谢

1 个答案:

答案 0 :(得分:1)

替换中的正则表达式模式与16不匹配。

 s/\.([90][0-9])o/.$1n/;

这将匹配九或零后跟一个任意数字,后跟一个o,然后将其替换为点,两位数和n。< / p>

请参阅https://regex101.com/r/kA0zR5/2上的说明。