Вкратце, я пытаюсь использовать некоторые модули, и они не работают, никаких предупреждений, ошибок, ошибок времени выполнения, сбоев, ничего, просто никаких результатов. В частности, у меня естьperl works, 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(), просто пустой массив.
Информация об отладке выше показывает, что файл был прочитан правильно (по одному для да, де, en, es, fr и нескольких других языков), поэтому он, по крайней мере, проходит через движения, но, по-видимому, perlapp хорошо находит модули достаточно не бросать ошибки или предупреждения при компиляции или во время выполнения, но при компиляции его эта процедура в Identify просто ничего не возвращает.
Я не слишком знаком с PerlApp, потому что я не использую ActiveState Perl, но вы попробовали аналогичный инструмент, например [PAR :: Packer] (https://metacpan.org/pod/PAR :: Упаковщик)? –
Это должна быть отдельная программа для запуска на серверах, у которых не было бы никакой версии perl, но я рассмотрю ее, tnx! – user5754171
Правильно, это одна из вещей, которые PAR :: Packer делает (в частности, инструмент 'pp'). –