看板 Perl 關於我們 聯絡資訊
請問在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
CindyLinz: $self->{CAMP_DRV} 的內容是什麼啊? 08/31 01:39
self的環境變量放到CAMP_DRV檔案資料夾中
flu: 因為586的pattern match失敗所以$drv是 undef, 這點到了 08/31 01:56
flu: 其他行才產生影響,587才看到warnings msg 08/31 01:56
flu: 如果是預期外的match失敗可能要回到1F說的去debug , 08/31 01:56
flu: 不是(只想關掉warnings)可以用 no warnings 'uninitialized' 08/31 01:59
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
CindyLinz: 我只是希望你貼一下 CAMP_DRV 裡面的字串長什麼樣 ^^| 08/31 13:31
flu: 如果程式未考慮跨平台,可能就不是改個設定就能了事 08/31 21:49