作者odovai (odovai)
看板Perl
标题[问题] Bernese自动化处理的Perl语言之error
时间Sun Aug 30 21:20:24 2015
请问在BPE执行过程中,出现下列error信息,该如何解或如何设定?
Use of uninitialized value $drv in hash element atc:\BERN50\BPE/RUNBPE.pm
line 587.
RUNBPE.pm 内的程序代码如下:
583 # Export needed environment variables
584 # -----------------------------------
585 $ENV{U} = $$self{U};
586 my ($drv) = ($self->{CAMP_DRV} =~ /\$\{(\w+)\}/);
587 $ENV{$drv} ||= $self->{$drv};
请高手大大帮忙,耗了好几天还是不知道该如何从何下手QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.83.144.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1440940826.A.F0E.html
1F:→ CindyLinz: $self->{CAMP_DRV} 的内容是什麽啊? 08/31 01:39
self的环境变量放到CAMP_DRV档案资料夹中
2F:→ flu: 因为586的pattern match失败所以$drv是 undef, 这点到了 08/31 01:56
3F:→ flu: 其他行才产生影响,587才看到warnings msg 08/31 01:56
4F:→ flu: 如果是预期外的match失败可能要回到1F说的去debug , 08/31 01:56
5F:→ flu: 不是(只想关掉warnings)可以用 no warnings 'uninitialized' 08/31 01:59
6F:→ flu: 在scope内( {...}内 )关掉msg 08/31 01:59
我说明详细一点好了,Bernese是一个解算GPS的软体,BPE则是在解算过程中,
可以辅助使用自动化解算,依Flu大所叙,我想应该是不能关掉warnings的。
Bernese大多是用Linux系统执行,而我是使用Windows版,因此设定上有些不同
但是教我Bernese的老师并没有使用过windows版,只能依照使用Linux版的经验
来帮我修改部分设定。因此两位大大的提示我想有可能是路径没有设定好,导致
$drv读不到而undef,所以可能得要找一下如何设定路径。我也翻过手册也找不
态到这方面的说明,Bernese这软体我才刚学到,而Perl更是从来没碰过,所以
想请教一下各位大大我该如何从程式码中去推敲可能哪边该设定?
谢谢
※ 编辑: odovai (114.26.173.195), 08/31/2015 09:50:45
※ 编辑: odovai (114.26.173.195), 08/31/2015 09:51:34
7F:→ CindyLinz: 我只是希望你贴一下 CAMP_DRV 里面的字串长什麽样 ^^| 08/31 13:31
8F:→ flu: 如果程式未考虑跨平台,可能就不是改个设定就能了事 08/31 21:49