[問題] Bernese自動化處理的Perl語言之error

看板Perl作者 (odovai)時間9年前 (2015/08/30 21:20), 9年前編輯推噓0(008)
留言8則, 2人參與, 最新討論串1/1
請問在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://www.ptt.cc/bbs/Perl/M.1440940826.A.F0E.html

08/31 01:39, , 1F
$self->{CAMP_DRV} 的內容是什麼啊?
08/31 01:39, 1F
self的環境變量放到CAMP_DRV檔案資料夾中

08/31 01:56, , 2F
因為586的pattern match失敗所以$drv是 undef, 這點到了
08/31 01:56, 2F

08/31 01:56, , 3F
其他行才產生影響,587才看到warnings msg
08/31 01:56, 3F

08/31 01:56, , 4F
如果是預期外的match失敗可能要回到1F說的去debug ,
08/31 01:56, 4F

08/31 01:59, , 5F
不是(只想關掉warnings)可以用 no warnings 'uninitialized'
08/31 01:59, 5F

08/31 01:59, , 6F
在scope內( {...}內 )關掉msg
08/31 01:59, 6F
我說明詳細一點好了,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

08/31 13:31, , 7F
我只是希望你貼一下 CAMP_DRV 裡面的字串長什麼樣 ^^|
08/31 13:31, 7F

08/31 21:49, , 8F
如果程式未考慮跨平台,可能就不是改個設定就能了事
08/31 21:49, 8F
文章代碼(AID): #1LumCQyE (Perl)
文章代碼(AID): #1LumCQyE (Perl)