/ / No se puede ubicar Date / Parse.pm en @INC - perl

No se puede ubicar Date / Parse.pm en @INC - perl

obteniendo el siguiente error mientras ejecutaba mi 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.

Desde el error anterior, infiero que perl busca en el directorio incorrecto para los módulos. El directorio correcto es /System/Library/Perl/5.16

comando env -I perl -V es diferente 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`

Respuestas

3 para la respuesta № 1

@NigoroJr dio la pista correcta en el comentario bajo la pregunta principal (cpan install Date::Parse) pero voy a exponer sobre las diferencias en el perl -V salidas.

De la página del hombre 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.

Entonces, cuando corres env -i perl -V, obtienes un entorno en blanco / predeterminado, que está recogiendo el perl instalado en el sistema. Cuando ejecutas `perl -V ', obtienes la versión que estás usando, que parece algo que instalaste.

Por cierto, parece que tu Perl activo es un mayor rev que la que proporciona el sistema, por lo que tal vez debería considerar volver al Perl proporcionado por el sistema.