簡而言之,我試圖使用一些模塊,他們不工作,沒有警告,錯誤,運行時錯誤,崩潰,沒有,只是沒有結果。具體而言,我有perl工作,perlapped EXE不
use strict;
use warnings;
use Lingua::Identify qw(:language_identification);
...
foreach my $f (@txt){
my $s = &fileasstring($f);
my @l = langof($s); # problem's here!
&error("!\nl=".scalar(@l)."\n");
foreach(@l){ &error("!$f\t[$_]\n"); }
&error("\n");
}
和從運行 '的perl langs.pl' 的輸出被
[da.txt] reading file
[da.txt] 8 lines read
[da.txt] done
da.txt [Artikel 26. Enhver har ret til undervisning. ... som vedkommende har skabt. ]
l=42
da.txt [da]
da.txt [0.278009331769791]
da.txt [sv]
da.txt [0.126520770367313]
da.txt [nl]
da.txt [0.0886509276813543]
...
和運行 'langs.exe' 時看似重疊就好了,我得到
[da.txt] reading file
[da.txt] 8 lines read
[da.txt] done
da.txt [Artikel 26. Enhver har ret til undervisning. ... som vedkommende har skabt. ]
l=0
就是這樣,沒有從langof()返回值,只是一個空數組。
上面的調試信息顯示文件被正確讀取(da,de,en,es,fr和其他幾種語言各一個),所以它至少會經歷運動,但顯然perlapp很好地發現模塊足夠在運行時編譯或時不會拋出錯誤或警告,但在編譯它時,Identify中的該例程不會返回任何內容。
我不太熟悉PerlApp,因爲我沒有使用ActiveState Perl,但是您是否嘗試過類似的工具,例如[PAR :: Packer](https://metacpan.org/pod/PAR ::帕克)? –
它需要是一個獨立的程序運行在沒有任何版本的Perl安裝的服務器上,但我會研究它,TNX! – user5754171
對,這是PAR :: Packer所做的一件事(特別是'pp'工具)。 –