Obtendo seguinte erro ao executar meu perl scirpt.
Can"t locate Date/Parse.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.1 /opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.1 /opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.1 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at ../../tools/replace_tenant_json_data.pl line 27.
BEGIN failed--compilation aborted at ../../tools/replace_tenant_json_data.pl line 27.
Do erro acima, eu inferi que o perl examina o diretório errado para os módulos. O diretório correto é /System/Library/Perl/5.16
comando env –I perl –V é diferente forma perl –V
`env –I perl –V
@INC:
/Library/Perl/5.16/darwin-thread-multi-2level
/Library/Perl/5.16
/Network/Library/Perl/5.16/darwin-thread-multi-2level
/Network/Library/Perl/5.16
/Library/Perl/Updates/5.16.2
/System/Library/Perl/5.16/darwin-thread-multi-2level
/System/Library/Perl/5.16
/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.16
perl –V
@INC:
/opt/local/lib/perl5/site_perl/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/site_perl/5.16.1
/opt/local/lib/perl5/vendor_perl/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/vendor_perl/5.16.1
/opt/local/lib/perl5/5.16.1/darwin-thread-multi-2level
/opt/local/lib/perl5/5.16.1
/opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl`
Respostas:
3 para resposta № 1@NigoroJr deu a sugestão certa no comentário sob a questão principal (cpan install Date::Parse
) mas vou expor as diferenças no perl -V
saídas.
Da página do homem de Darwin para env
:
SYNOPSIS
env [-i] [name=value ...] [utility [argument ...]]
DESCRIPTION
env executes utility after modifying the environment as specified on the command line. The option
name=value specifies an environmental variable, name, with a value of value. The option `-i" causes
env to completely ignore the environment it inherits.
Então, quando você corre env -i perl -V
, você obtém um ambiente em branco / padrão, que está captando o perl instalado pelo sistema. Quando você executa apenas `perl -V", você obtém a versão que está realmente usando, que se parece com algo que você instalou.
BTW, parece que o seu ativo Perl é um Mais velho rev do que aquele que o sistema fornece, então talvez você deva considerar voltar para o Perl fornecido pelo sistema.