cristj1 has asked for the wisdom of the Perl Monks concerning the following question:
And the error:[XXX@n12 p1]$ cat -n xls2csv 1 #!/bin/perl -I/root/perl5/lib/perl5/x86_64-linux-thread-multi +/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/li +b/perl5/5.16.3 /usr/local/lib64/perl5 2 use strict; 3 use 5.006; 4 5 use lib '/root/perl5/lib/perl5'; 6 use Getopt::Std; 7 use Locale::Recode; 8 use Spreadsheet::ParseExcel; 9 use Spreadsheet::ParseExcel::FmtUnicode; 10 use Text::CSV_XS; 11
I've matched up XXX's @INC to root's @INC via the "#!/bin/perl -I..." line of the script. It SEEMS the critical directories match up. Here's root's @INC:Can't locate Unicode/Map.pm in @INC (@INC contains: /root/perl5/lib/pe +rl5 /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/p +erl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3 /u +sr/local/lib64/perl5 /root/perl5/lib/perl5/x86_64-linux-thread-multi +/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl /ho +me/XXX/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /home/XXX/per +l5/lib/perl5/5.16.3 /home/XXX/perl5/lib/perl5/x86_64-linux-thread-mul +ti /home/XXX/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/ +perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/ +lib64/perl5 /usr/share/perl5 .) at /home/XXX/perl5/lib/perl5/Spreadsh +eet/ParseExcel/FmtUnicode.pm line 22. BEGIN failed--compilation aborted at /home/XXX/perl5/lib/perl5/Spreads +heet/ParseExcel/FmtUnicode.pm line 22. Compilation failed in require at ./xls2csv line 9. BEGIN failed--compilation aborted at ./xls2csv line 9.
And here's XXX's @INC:[root@n12 p1]# perl -e "print \"@INC\"" | sed 's/ /\n/g' | sort . /root/perl5/lib/perl5 /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/x86_64-linux-thread-multi /usr/lib64/perl5 /usr/lib64/perl5/vendor_perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/share/perl5 /usr/share/perl5/vendor_perl
I THINK Map.pm is the file that needs to be found in @INC. Here's where it is:[XXX@n12 p1]$ echo <output from @INC erro> | sed 's/ /\n/g' | sort /home/XXX/perl5/lib/perl5 /home/XXX/perl5/lib/perl5/5.16.3 /home/XXX/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /home/XXX/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl /root/perl5/lib/perl5 /root/perl5/lib/perl5/5.16.3 /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5/x86_64-linux-thread-multi /usr/lib64/perl5 /usr/lib64/perl5/vendor_perl /usr/local/lib64/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/share/perl5 /usr/share/perl5/vendor_perl
Since the .cpan directories are not in root's @INC, I didn't add them to XXX's @INC. I'm thinking I don't know everything I need to fix this. Can you help?[root@n12 p1]# find / | grep Unicode | grep Map.pm /root/.cpan/build/Unicode-Map-0.112-Pe4OUJ/Map.pm /root/.cpan/build/Unicode-Map-0.112-Pe4OUJ/blib/lib/Unicode/Map.pm /root/perl5/lib/perl5/x86_64-linux-thread-multi/Unicode/Map.pm
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Can't locate Unicode/Map.pm but it's installed and I THINK in @INC
by Crackers2 (Parson) on Jun 14, 2017 at 17:26 UTC | |
by stevieb (Canon) on Jun 14, 2017 at 17:36 UTC | |
by cristj1 (Novice) on Jun 14, 2017 at 21:54 UTC |