CPAN = Comprehensive Perl Archive Network = úložiště všemožných modulů a programů v Perlu (free software)

Můžeme je vyhledávat podle:

další prohledávače

editovat

Instalace modulů

editovat

Obvyklé moduly jsou dostupné jako ostatní balíky *.deb

Kromě toho existují utility:

  • cpan – easily interact with CPAN from the command line – používá CPAN.pm
  • cpanp - The CPANPLUS launcher
  • perlmodinstall – Installing CPAN Modules

Instalované moduly

editovat

Nejdříve zjistím verzi perlu:

perl --version
       This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi


Kde mám tedy určitý modul na instalovaný?

perl -E 'use Some::Module; say $INC{"Some/Module.pm"};'

Např:

perl -E 'use Mojolicious::Lite; say $INC{"Mojolicious/Lite.pm"};'
       /usr/local/share/perl/5.30.0/Mojolicious/Lite.pm

Kde Perl ty moduly všude hledá? (tj. co má v @INC):

perl -V

(Summary – vypíše vše možné, lokalizace modulů až naposledy)

anebo:

perl -E 'say for @INC'
/home/petr/perl5/lib/perl5/5.30.0/x86_64-linux-gnu-thread-multi
/home/petr/perl5/lib/perl5/5.30.0
/home/petr/perl5/lib/perl5/x86_64-linux-gnu-thread-multi
/home/petr/perl5/lib/perl5
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.30.0
/usr/local/share/perl/5.30.0
/usr/lib/x86_64-linux-gnu/perl5/5.30
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.30
/usr/share/perl/5.30
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base

Jak zjistím, jakou verzi modulu mám instalovanou? Např.:

cpan -D Mojolicious::Lite
Reading '/home/petr/.local/share/.cpan/Metadata'
  Database was generated on Thu, 02 Dec 2021 08:29:02 GMT
Mojolicious::Lite
-------------------------------------------------------------------------
        CPAN: Module::CoreList loaded ok (v5.20190522)
(no description)
        S/SR/SRI/Mojolicious-9.22.tar.gz
        /usr/local/share/perl/5.30.0/Mojolicious/Lite.pm
        Installed: undef
        CPAN:      undef  up to date
        Sebastian Riedel (SRI)
        kraihx@googlemail.com
cpan -D Mojolicious
Reading '/home/petr/.local/share/.cpan/Metadata'
  Database was generated on Thu, 02 Dec 2021 08:29:02 GMT
Mojolicious
-------------------------------------------------------------------------
        CPAN: Module::CoreList loaded ok (v5.20190522)
(no description)
        S/SR/SRI/Mojolicious-9.22.tar.gz
        /usr/local/share/perl/5.30.0/Mojolicious.pm
        Installed: 9.22
        CPAN:      9.22  up to date
        Sebastian Riedel (SRI)
        kraihx@googlemail.com

Anebo:

perl -MMojolicious::Lite -e 'print $Mojolicious::Lite::VERSION ."\n";'

Anebo:

perl -MMojolicious -e 'print $Mojolicious::VERSION ."\n";'
 9.22

Anebo:

perldoc -m Mojolicious | grep VERSION