Perl: сообщение об ошибке: не могу найти ... в @INC

Я пытаюсь компилироватьэтот сценарий, но у меня есть это сообщение:

Can't locate Email/Address.pm in @INC (@INC contains: C:/strawberry/perl/lib C:/ strawberry/perl/site/lib C:\strawberry\perl\vendor\lib .) at C:/strawberry/perl/ lib/Regexp/Common/Email/Address.pm line 9. BEGIN failed--compilation aborted at C:/strawberry/perl/lib/Regexp/Common/Email/ Address.pm line 9. Compilation failed in require at (eval 1) line 1. BEGIN failed--compilation aborted at C:\examples\script2.pl line 4.

Я не понимаю, потому что у меня действительно есть этот рут

C:/strawberry/perl/lib/Regexp/Common/Email/Address.pm

Does anybody know why I have this error message when I try to compilate my scrip?

огромное спасибо

Я пытался использовать это предложение:

use lib 'C:/strawberry/perl/lib/Regexp/Common/Email';

и поставив в качестве комментария эти два предложения:

use Regexp::Common qw[Email::Address];
  use Email::Address

тогда я получаю эту ошибку

Global symbol "%RE" requires explicit package name at C:\examples\script2.pl lin
e 10.Execution of C:\examples\script2.pl aborted due to compilation errors.

Я взглянул наperldiag

Global symbol "%s" requires explicit package name (F) You've said "use strict" or "use strict vars", which indicates that all variables must either be lexically scoped (using "my" or "state"), declared beforehand using "our", or explicitly qualified to say which package the global variable is in (using "::").

но я нахожу это немного теоретическим для меня, потому что я понимаю, что вы должны использовать пакеты, используя предложение «использовать»; в начале кода.

Кстати, это мой код:

 use Regexp::Common qw[Email::Address];
  use Email::Address;
  while (<>) {
  my (@found) = /($RE{Email}{Address})/g;
  my (@addrs) = map $_->address, Email::Address->parse("@found");
  print "X-Addresses: ", join(", ", @addrs), "\n";
  }

Я получил этот кодиз вопроса, который я задавал раньше.

Ответы на вопрос(1)

Ваш ответ на вопрос