Выступая за сохранение застойного пакета CPAN (GnuPG), я бы хотел улучшить файлы установки, чтобы они изящно выходили, если двоичный код gpg
(который GnuPG является оберткой) не может быть найден. После недолгих поисков вдохновения от других пакетов, я придумал добавив в Makefile.PL:Как проверить, доступна ли бинарная зависимость в Perl?
my @paths = grep { -x "$_/gpg" } split /:/, $ENV{PATH}, $ENV{PGP_PATH};
unless (scalar @paths) {
print <<EOD;
I can't find the gpg binary on your system. If it's not installed in your usual PATH, set $ENV{PGP_PATH} to include where it can be found and try installing again.
EOD
exit(0);
}
WriteMakefile(
'NAME' => 'GnuPG',
'VERSION_FROM' => 'GnuPG.pm',
'EXE_FILES' => [ gpgmailtunl ],
'LICENSE' => 'GPL',
'LIBS' => [ @paths ],
);
это выглядит вменяемым?
Вы никогда не должны делиться на ":", а скорее на $ Config {path_sep}. Или, для этой цели, используйте что-то вроде IPC :: Cmd :: can_run ('gpg') – xdg