У меня проблема с perl5 с Ubuntu.
У меня есть сценарий, в который я включаю несколько каталогов. При запуске сценария оболочка возвращает
Can't locate XML/Twig.pm in @INC (@INC contains:
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl)
at /root/cron/bin/xml-gp-data.pl line 9.
BEGIN failed--compilation aborted at /root/cron/bin/xml-gp-data.pl line 9.
Хорошо, это означает, что Perl не находит этот каталог. Я проверил каталог и файл. Его путь -
/root/perl5/lib/perl5/XML/Twig.pm
Код, который я использую для включения этого каталога и файла:
use strict;
use warnings;
use DBI;
use lib qw(/root/perl5/lib/perl5);
use XML::Twig;
use Data::Dumper;
use lib qw(/root/perl5/lib/perl5/);
Я сам не писал этот скрипт, поэтому не могу сказать, почему это включено дважды :-P
Тем не менее я не понимаю, почему Perl не может найти XML/Twig.pm
. Именно там я и сказал Perl искать его. Есть идеи, почему это не работает и как я могу это исправить?
Почему вы устанавливаете вещи в каталоги под домашним пользователем root?
Вместо этого следует установить пакеты (в данном случае libxml-twig-perl
) и использовать программное обеспечение, установленное в системе. Вы также, как правило, не должны запускать вещи как root.
Это также не по теме для askUbuntu, так как это общий вопрос о программировании на PERL, и, вероятно, лучше всего его задавать в основном переполнении стека или где-либо еще.