Perl i Store er versjon 5.8.8. Perl er installert for alle Store-maskiner, og det er ikke mulig å velge det bort, ettersom mange driftsrelaterte scripts og programmer er laget i Perl.
Tirsdag 18.juli 2006 ble perl i Store oppgradert til versjon 5.8.8. Denne er fullstendig binærkompatibel med forrige versjon, 5.8.7. Det betyr at binærmoduler (moduler som inneholder C-kode) kompilert for 5.8.7 virker med 5.8.8 uten problemer. De fleste perl-moduler i store er pr. dags dato kompilert for 5.8.7, og derfor inkluderer perl 5.8.8 søkestien til 5.8.7.
Perl 5.8.8 er kompilert med
DEBUGGING. Det betyr bl.a. at man kan bruke
perl -Dt for å få en trace av perl når den
kjører:
maskin ~$ perl -Dt -e 'print "hello, world!\n";'
(-e:1) null
(-e:1) const(PV("hello, world!\n"\0))
(-e:1) stringify
EXECUTING...
(-e:0) enter
(-e:0) nextstate
(-e:1) pushmark
(-e:1) const(PV("hello, world!\n"\0))
(-e:1) print
hello, world!
(-e:1) leave
Endel perl-moduler installeres som standard. Hvilke dette er
er avhengig av hvilke grupper av programmer som er lagt inn på
maskinen. Nesten alle perl-moduler i Store har navn som slutter
på .pm, så det skal være enkelt å se hvilke
perl-moduler som er tilgjengelige for din maskin,
f.eks. slik:
maskin ~$ storeapp -q available | egrep \.pm
Man får da listet opp samtlige perl-moduler som er tilgjengelige for din maskintype, f.eks.:
Apache-DBI.pm 0.93 allarchs Apache-Session.pm 1.54 allarchs AppConfig.pm 1.56 allarchs Archive-Zip.pm 1.16_perl5.8.7 allarchs ARS.pm OBSOLETE allarchs Authen-SASL.pm 2.09_perl5.8.7 allarchs Benchmark-Timer.pm 0.7100 allarchs BerkeleyDB.pm 0.26_perl5.8.7 amd64linux Bloom-Filter.pm 0.03 allarchs BSD-Resource.pm 1.24_perl5.8.7 amd64linux Cache-Cache.pm 1.04_perl5.8.7 allarchs [...osv...]
For å legge inn en modul, kjør storeapp -a
store-pakke. Eksempel:
maskin.uio.no# storeapp -a List-MoreUtils.pm
Kommandoen over utføres som root, og installerer perl-modulen "List::MoreUtils", som har store-navn "List-MoreUtils.pm".
Man kan kompilere egne perl-moduler hvis man ønsker det. Egne moduler blir, med mindre man angir en opsjon for å plassere dem et annet sted enn standard, installert under sitelib/sitearch. USIT installerer sine under vendorlib/vendorarch. Her er listen over stier i perl 5.8.8:
| Navn | Sti | Forklaring |
|---|---|---|
| perllib | /local/share/perl5/5.8.8 | Her ligger arkitekturuavhengige moduler som følger med selve perl. |
| perlarch | /local/lib/perl5/5.8.8 | Her ligger arkitekturavhengige moduler som følger med selve perl. |
| sitelib | /site/share/perl5/5.8.8 | Default lokasjon for arkitekturuavhengige moduler. Dersom man installerer egne moduler, f.eks. ved bruk av CPAN, havner de her. |
| sitearch | /site/lib/perl5/5.8.8/<perl-arch> | Default lokasjon for arkitekturavhengige moduler. Dersom man installerer egne moduler, f.eks. ved bruk av CPAN, havner de her. |
| vendorlib | /local/share/perl5/vendor_perl/5.8.8 | Hvor USIT installerer arkitekturuavhengige moduler. |
| vendorarch | /local/lib/perl5/vendor_perl/5.8.8 | Hvor USIT installerer arkitekturavhengige moduler. |
Tabellen over inneholder bare et lite utdrag av søkestien
til perl. Hele får man f.eks. med opsjonen -V til
perl:
maskin.uio.no# /local/bin/perl -V
På slutten vil man se følgende:
@INC:
/local/lib/perl5/5.8.8
/local/share/perl5/5.8.8
/site/lib/perl5/5.8.8/x86_64-linux-thread-multi
/site/share/perl5/5.8.8
/site/share/perl5/5.8.7
/site/share/perl5
/local/lib/perl5/vendor_perl/5.8.8
/local/share/perl5/vendor_perl/5.8.8
/local/share/perl5/vendor_perl/5.8.7
/local/share/perl5/vendor_perl
/site/lib/perl5/5.8.7/x86_64-linux-thread-multi
/site/share/perl5/5.8.7
/local/lib/perl5/vendor_perl/5.8.7
/local/share/perl5/vendor_perl/5.8.7
/site/share/perl5/site_perl/5.8.0
/local/share/perl5/site_perl/5.8.0
/local/share/perl5/site_perl/5.8.0
/local/share/perl5/site_perl
.