User Tools

Site Tools


program_lang:perllib

Perl

List Perl libraries locations

[root@lnx80 ~]# perl -e 'print join("\n",@INC)'
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5

List Perl libraries

# perl -MFile::Find=find -MFile::Spec::Functions -Tlwe 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'
# perldoc -l DBI
/usr/opt/perl5/lib/site_perl/5.28.1/aix-thread-multi/DBI.pm

Perl modules

[root@fedora ~]# pmall
Encode (3.19) - character encodings in Perl
Clone (0.46) - recursively copy Perl datatypes
Storable (3.26) - persistence for Perl data structures
Cwd (3.84) - get pathname of current working directory
DBI (1.643) - Database independent interface for Perl
Socket (2.036) - networking constants and support functions
Term::ReadKey (2.38) - A perl module for simple terminal control
Sub::Util (1.63) - A selection of utility subroutines for subs and CODE references
IO::Compress::Brotli (0.004001) - Write Brotli buffers/streams
IO::Uncompress::Brotli (0.004001) - Read Brotli buffers/streams
Digest::SHA (6.04) - Perl extension for SHA-1/224/256/384/512
...

cpan proxy

root@aixtest:/root > /opt/freeware/bin/cpan
o conf init /proxy/
 <ftp_proxy>
Your ftp_proxy? [] w.x.y.z:<port>

 <http_proxy>
Your http_proxy? [] w.x.y.z:<port>
http://10.10.10.10:8080/

 <no_proxy>
Your no_proxy? [] w.x.y.z:<port>

Proxy userID ?

Proxy password ?

o conf commit
root@aixtest:/root > perl –MCPAN –e'install <module_name>' 

Or

root@aixtest:/root > cpan Devel::PPPort

CPAN error while install modules

Dependencies between modules can be found in CPAN site

CPAN error

Error downloading with HTTP::Tiny: Not a CODE reference

Set the proxy also

export http_proxy="http://user:pass@proxyserver:8080"
export https_proxy="http://user:pass@proxyserver:8080"
export ftp_proxy="http://user:pass@proxyserver:8080"

https://community.ibm.com/community/user/power/blogs/jan-harris1/2022/03/21/aix-open-source-support-tips

CPAN coredumps on AIX

Answer

AIX does not set maxdata because it causes issues for AIX Perl-based commands.

One of the following solutions can usually resolve the issue:

1) Use the 64-bit module

2) export LDR_CNTRL=MAXDATA=0x80000000@DSA

3) Use a perl.rpm version (which is recommended for reasons that are listed in the AIX Perl Updates and Support for perl.rte technote), then use ldedit to permanently set the maxdata value

# ldedit -b maxdata=0x80000000 "path to perl.rpm Perl binary" 

CPAN install modules offline

Download Perl module

Go to CPAN Search website and search for the module that you wish to download. In this example, let us search, download and install XML::Parser Perl module. I have downloaded the XML-Parser-2.36.tar.gz to /home/download

# cd /home/download
# gzip -d XML-Parser-2.36.tar.gz
# tar xvf XML-Parser-2.36.tar
# cd XML-Parser-2.36
# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for XML::Parser::Expat
Writing Makefile for XML::Parser
# make
# make test
# make install

CPAN repository offline

program_lang/perllib.txt · Last modified: 2024/04/19 11:16 by manu