Perl-dev susirašinėjimo sąrašas

Kaip jau labai labai seniai žadėjau, šiandien pagaliau pakūriau
susirašinėjimo sąrašą perl-dev@skopos.lt norintiems
prisijungti prie lietuviškos svetainės apie Perl kūrimo. Norintys
prisijungti prie šio sąrašo turėtų atsiųsti elektroninį laišką adresu
majordomo@skopos.lt su eilute:

subscribe perl-dev

Pagrindinis šio sąrašo tikslas yra lietuviškos svetainės apie Perl
programavimo kalbą sukūrimas. Kartu tai ir galimybė dalyvauti Perliniame
projekte taip išmokstant šią kalbą bei gaunant daugiau patirties.
Tikiuosi šis projektas bus sėkmingas ir naudingas visiems, o ne tik jame
dalyvaujantiems, nes visas kodas bus atviras, o ir pati svetainė turėtų
kaupti lietuvišką dokumentaciją apie Perlą ir skatinti jo platesnį ir
lengvesnį naudojimą.

Naujasis Perlas

Šiandien pilnai perėjau prie naujojo Perl
5.8.1
. Persikompiliavau mod_perl ir panašiai, tad ši
svetainė veikia būtent jau su naujuoju Perlu.

Nors ir yra angliška perldelta, štai
pagrindiniai Perl pokyčiai nuo 5.8.0 versijos:

  • Asociatyviųjų masyvų atsitiktinės tvarkos pagerinimas.
    Anksčiau asociatyviųjų masyvų (hešų) raktai būdavo saugomi ne
    visai atsitiktine tvarka, o dėl to atsirasdavo šiokių tokių saugumo
    problemų (ten viskas labai sudėtinga, bet idėja tame, jog galima kažkaip
    programėlei padaryti DOS ataką).
    Dėl šio pagerinimo gali neveikti kai kurios programos, kurios būtent
    priklausė nuo ne visai atsitiktinės hešų tvarkos (Tarkim turėtų
    skirtis Data::Dumper modulio išvedamų asociatyvaus masyvo
    raktų tvarka)

  • UTF-8 flagas nebenustatomas byloms
    automatiškai, net jei lokalė ir sako jog viskas yra UTF-8
    (Atrodo lokalės dažnai pervertina savo galimybes, ir dėl to būna
    problemų)

  • v-stings (versijų eilutės) prieš =>
    traktuojamos kaip paprastos simbolių eilutės. Tad šitas:

    %h = ( v65 => 42 );

    Iki 5.8.1 reiškė:

    %h = ( 'A' => 42 );

    O dabar reiškia:

    %h = ( 'v65' => 42 );

    Kaip turbūt ir buvo tikimasi.

  • Vėl galima naudotis „nesaugiais“ signalais. Praeitoje
    Perlo versijoje signalai (SIGHUP, SIGKILL ir panašiai) buvo padaryti
    saugiais, t.y. jų vykdymas buvo atidedamas iki paskutiniės
    operacijos užbaigimo, nes ne laiku atkeliavęs signalas galėjo nutraukti
    programą netinkamoje vietoje ir „nulaužti“ visą programą.
    Dabar galima naudoti tiek saugius signalus, tiek nesaugius, užtenka
    atitinkamai nustatyti aplinkos kintamąjį PERL_SIGNALS

  • Dabar galima pririšti su tie() ir masyvus su
    neigiamais indeksais

  • Dabar veikia ir netiesioginė lokalizacija:

     local ${$x}
    
     local @{$x}
     local %{$x}
  • Unikodo lentelės duomenų bazė atnaujinta iki 4.0.0 versijos (kuri buvo išleista visai neseniai)

  • Keletas dalykų kurių bus atsisakyta kitoje versijoje, ir dėl to atsirado naujų perspėjimų: $* kintamasis,
    5.005 versijos stiliaus threadai, pseudohešai.

  • Vienas svarbiausių pagerinimų, kuris užbaigs daugelį metų trukusius šventuosius karus map vs for: map nuo šiol
    supranta savo kontekstą ir nekonstruoja sąrašo grąžinimui, jei jo nėra kam grąžinti.
    Tai žymiai pagreitina map vartojimą tuščiame
    kontekste (tarkim map { print "$_\n" } @a)

  • Daug klaidų pataisyta MAth::BigInt modulyje. Ypač dideli greičio patobulinimai.

  • Visiškai perrašytas perldoc

  • Kai kurie pataisymai threaduose, pataisyta atminties nutekėjimo klaidos Linuxe

  • Pridėta dokumentacija: perlcheat, perlreref (lietuviškas vertimas).

  • Cygwin aplinkoje dabar veikia threadai.

  • Naujos platformos, kuriose veikia Perl: Hitachi HI-UXMPP, LynxOS, IBM’s OS/400 PASE, OpenZaurus (Sharp Zaurus PDA). Vis dar nėra PalmOS :/

Tvarkau stalčių

tvarkiausi šiandien vieną savo stalčių. Veiksmas vyksta kaune, ten
jau senokai nebegyvenu. Užtad stalčius prisikaupęs visokių įvairių
senienų, krapštantis po jį jaučiuosi kaip archeologas, nes kuo gilyn
tuo senesnis kultūrinis sluoksnis. Štai ką radau stalčiuje, pradedant
nuo viršaus (naujausi laikai) ir einant gilyn (arba senyn chronologine
tvarka):

  • Infrared <=> Serial kabelis. Neaišku iš kur papuolęs.
    Ryškiai naudotas bet ne mano. Reiks išbandyt.
  • Varžtai nuo monitoriaus, kurį atidaviau mr2
  • 10 kompiuterinių varžtukų. Labia gerai. Visur man jų trūksta.
  • Motorolos T2299 akumuliatoriai. Gal kam reik?
    Atiduodu.
  • Antikvarinis metalinis kryžius. 10 cm x 15 cm. Hmmm…
  • Omnitelio sąskaitos iš 2001 metų, kai mokėjau ne 200 Lt o 20 Lt
  • Bukletėlis „Kokią dantų pastą pasirinkti?“.
    Nenuskaitytas, nesuteptas dantų pasta.
  • 2001 vasario mėnesio Naujoji komunikacija. Pagrindinis
    straipsnis – CD-RW apžvalga.
  • 1999 rugpjūčio Kompiuterija.
  • 1997 liepos „Popular Science“. Pamenu jog lyg skolinausi
    aš jį iš kažkieno. Ryškiai negrąžinau.
  • Laiškas merginai. Neišsiųstas. (!!! – buvau kažkada
    normalus!)
  • Laiškas IŠ merginos. Merry Christmas, remember me? bla bla
    bla…
    . 2000 Kalėdos.
  • Matlankis, pieštukai….
  • Ant popieriuko užrašyta Napster. Matyt pirmą kart
    išgirdau ir užsirašiau kad nepamiršt
  • Nuotrauka
    (labai tamsi gavos)
  • „SETI@home certificate of appreciation“
  • Delta force klaviatūros išplanavimas. Kažkada
    geiminau
  • „Kauno Jono Jablonskio gimnazijos 1A klasės mokinio Petro
    Kudaro rišliosios kalbos darbai“. Sąsiuvinis tuščias.
  • Trys popieriniai lektuvėliai. Vienas dažytais markeriu sparnais.
    Nei vienas neskrenda.
  • Du skaičiuotuvai
    šviečiančiais ekranais. Fainesnis Canon neveikia. Kitą
    pakūriau.
  • Trijų merginų vizitinės. Su viena dar vis palaikau ryšius. Ką
    tik ji skambino paklaust koks jos slaptažodis.
  • Tarybinis talonėlis autobusui už 4 kapeikas. Nepramuštas. 1985
    metų.
  • Ženkliukas su vienaragiu begančiu pro vaivorykštę. Čia tikrai
    darželio laikai.

Krūva nuorodų

Vėlgi prisikaupė visokių nuorodų, kurios gal kam ir pravers.

Išleistas Perl5.8.1

Viskas. Prieš porą minučių išleistas Perl 5.8.1. Kol kas dar nėra
oficialaus pranešimo, Jarkko Hietaniemi pranešė tik į
perl5-porters sąrašą. Štai ką jis parašė:

Grab it:


http://www.iki.fi/jhi/perl-5.8.1.tar.bz2


http://www.iki.fi/jhi/perl-5.8.1.tar.gz

(or rsync -avz --delete ftp.linux.activestate.com::perl-5.8.x perl-5.8.x)

Or in a while:


http://www.cpan.org/authors/id/J/JH/JHI/perl-5.8.1.tar.gz

perldelta:


http://www.hut.fi/~jhi/perldelta-5.8.1.html

Thank you to you all. Hopefully the 5.8.1 is better than the 5.8.0 was.
Since the release is now out there propagating, there’s precious little
I can do anymore, so I will now have a vacation. Quite a long one,
I think. I will write up An Official Announcement later when the CPAN
mirrors get updated.

Priklausomybė nuo interneto

Šiandien sužinojau kad sergu. Tiesą sakant tai įtariau jau senokai, bet dar niekas taip tiesiai ir įžūliai man to nebuvo pasakęs. O pasirodo sergu tokia liga, kuriai nėra net lotyniško pavadinimo – priklausomybe nuo interneto (internetophilus chronicus?). Turbūt ja sergat ir jūs, jei jau skaitot šias eilutes, nes ji yra stipriai užkrečiama per visokius interneto dienoraščius ir kitas kompiuterastines erdves. O visą tai sužinojau iš pono Virginijaus Savukyno straipsnio OMNI laike (kurį savaime suprantama pirmą kart perskaičiau per mobilų telefoną WAP pagalba – internetas manęs niekad nepalieka).

Štai šio straipsnio pradžia:

Ar jums pažįstamos tokios situacijos? Jūsų sutuoktinis prisijungia prie interneto vakare, o kai baigia naršyti, būna ankstyva aušra? Jūsų vaikai grįžę iš mokyklos pirmiausia puola prie kompiuterio ir užsikniaubę praleidžia visą likusį laiką? O jūs patys norėdami įjungti mikrobangų krosnelę bandote iš pradžių suspaudyti slaptažodį. Jei taip – jūsų šeima yra internetoholikai. Kitaip tariant, priklausomi nuo interneto.

Huh? Sutuoktinis? Vaikai? Matyt sergu sunkiau nei galima įsivaizduoti, nes nesimato nei vaikų nei sutuoktinės. O kam jos ir reikia kai yra internetas?!

Jei rimčiau tai priklausomybė nuo interneto tikrai egzistuoja. Gaila, kad straipsnio autorius pasirinko pakalbinti kažkokią
Jekateriną, kuri praleidžia internete tik 4 valandas per parą. Tikrai yra žmonių kurie gyvena ir kvėpuoja internetu visą dieną o ne varganas 4 valandas (aš – vienas iš jų). Juk darbe pasėdžiu 8 valandas, troleibuse naršau WAP, namie sėdžiu IRC ir t.t. Susidaro kokia 12 valandų per dieną. Tad autoriaus posakis:

Silpniausia priklausomybė nuo interneto atsiranda praleidžiant pasauliniame tinkle šiek tiek daugiau nei 4 val. per dieną, o „sergantys“ sunkiausia forma internete praleidžia apie 7 val. per dieną.

turėtų reikšti, jog mano būklė yra super-ultra-hiper-maxi-sudėtinga ir matyt esu ties virtimo į IP adresą riba.

Pats straipsnis ganėtinai juokingas, su tokiomis pasakėlėmis apie mistinius Amerikos studentus ir apie pagąsdinimus apie miego sutrikimus ir paranojas (taip, miego sutrikimai egzistuoja. Bet dažniausiai dėl nepadarytų darbų. O dėl paranojos, tai kaip tik visuomenėje jos per mažai – niekas net nesusimąsto jog negalima slaptažodžių klijuoti ant monitoriaus).

Po to straipsnio autorius pateikia pokalbį su profesionaliu psichologu, kuris atrodo nustebęs štai taip atsako į pateiktą klausimą:

Ar jūs, kaip psichologas, buvote susidūręs su panašiais priklausomybės atvejais Lietuvoje?

Yra buvę tokių tėvų, kurie kreipėsi dėl savo vaikų. Bet patys jaunuoliai nesikreipia, nes mano, kad tokia jų būsena yra visiškai normali.

Kažkodėl manau, kad mano būsena visgi yra normali. Galėčiau išbūti be interneto ir savaitę-dvi, tai nesukeltų didelių problemų (Juk buvau atsisakęs IRC ir sėkmingai be jo gyvenau kokias porą savaičių). Kai nesu internete, nesijaučiu nepatogiai, nepatiriu psichologinių traumų. Na, aišku, visad žinau, kad internetas yra mobiliame telefone ;-)

Pati juokingiausia yra striapsnio pabaiga:

Tad jei pastebėjote, kad jums blogai be interneto, galite kreiptis į psichologą arba į specialias interneto ligonius
gydančias klinikas. Lietuvoje tokios nėra, bet užtat yra Amerikoje. Ten žmonės, kenčiantys nuo internetinės priklausomybės, mokomi griežtai apriboti valandas, praleidžiamas naršant po internetą. Paprasčiausia priemonė – prie kompiuterio pastatyti žadintuvą, rodantį, kada baigsis laikas. O jei nenorite važiuoti į kliniką, patariu parduoti kompiuterį ir nusipirkti akvariumą. Jis funkcionuoja panašiai kaip jūsų ekrano užsklanda.

Kai paskutinį kartą žiūrėjau, tai „kompiuteris“ nebuvo tas pats kaip „internetas“. Kompiuteriu daug ką galima nuveikti ir be interneto. Nors tiesą sakant tai jau antras kartas šiomis savaitėmis kai girdžiu jog kompiuteris sutapatinamas su internetu. Mano bendradarbė, pamačiusi mano Palmą, iš kart paklausė ar jame yra internetas. Atsakiau jog ne (tada neturėjau naujojo mobilaus), o ji man pareiškė „tai kam reikalingas kompas, jei nėra interneto?“. Huh… Matyt reik važiuot į tą kliniką Amerikoj. Įdomu ten yra plačiajuostis interneto ryšys?

Moblogo patobulinimai

Atradau beeksperimentuodamas, kad galima nuotraukas siųsti iš
mobilaus ne per MMS, o
per paprastą elektroninį paštą (na kaip paprastą… per GPRS tiesiai iš
telefono). Tai reiškia, kad nereikės mokėti viso 1,50 Lt už vieną MMS žinutę (nuo spalio
pabaigos berods) ir bus galima apsiriboti paprastu GPRS. Kadangi viena
nuotrauka užima apie 15KB (su base64 kodavimu matyt apie 20KB), tai
vienos nuotraukos siuntimas į moblogą kainuoja apie 0,15 Lt (huh, 10
kart pigiau nei MMS)
dienos metu, o naktimis nemokamai. Plius dar yra berods 4 ar 5 MB
nemokami per mėnesį, tad mobloginimas nėra toks brangus
užsiėmimas.

Dar vienas geras dalykas – kai siunti per paprastą GPRS tai
gaunasi normalesnė el.pašto žinutė (neprideda keistų
application/smil (nors ten šiaip XML) priedų). Be to užsieniečiai kalba, kad per
MMS siunčiami
paveiksliukai serveryje dar kartą kompresinami ir dar labiau
nukenčia kokybė. Nežinau, to lyg ir nepastebėjau.

Padariau dar taip, kad su el.paštu siunčiama text/plain
dalis matytųsi mobloge kaip nuotraukos pavadinimas.

Tad technologinių kliūčių kaip ir nebeliko. why2liz čia labai krykštavo, kad
dėl šito moblogo lyg ir gerėja lietuviškų weblogų kokybė. Aš kaip tik
esu linkęs manyti priešingai. Dar kai rašai tekstą, tai turi pamąstyt ką
rašysi, apgalvot. O čia tik spusteli mygtuką ir viskas. Per daug lengva,
per maža pastangų, tad neabejotinai ir turinio kokybė mažesnė (be to aš
iš vis sunkiai įsivaizduoju ką kasdien galima kompiuterastiško pasakyti
nuotraukomis – per didelė pagunda daryti niekam neįdomias picų ar
sriubos nuotraukas su užrašu „noriu valgyt“). Tad jei ir
fotografuosiu bei taip pildysiu savo moblogą, kažkaip abejoju ar jis bus
naudingas ir manau kad jis bus labiau asmeniškesnis nei
kompiuterastinis. Na turbūt jei mano nuomone dėmesio vertų
kompiuterastinių vaizdelių atsiras mobloge tai turbūt reikės juos
plačiau pakomentuoti ir paprastame webloge. Žiūrėsim kaip
čia… tik per daug rimtai į tą moblogą nereiktų žiūrėt.

Moblogas

Vakar naktį pasidariau moblogą. Tai turbūt vienas iš tų projektų kur dariau nes galiu padaryt, o ne todėl kad reikia. Faktiškai Perlo kodo rašymas visada malonus, net jei ir nepildysiu to moblogo ateityje – iš manęs fotografas tai kaip iš mano bobulės perlininkė.

Visam šitam daiktui tiesiog persikopijavau savo svetainės kodą į kitą direktoriją, šiek tiek pataisiau šablonus (bet ne iki galo, nes vakar jau labai norėjosi miego), sukūriau porą SQL lentelių, pataisiau kodą, kad dirbtų su tomis naujomis lentelėmis ir parašiau el. pašto apdorojimo programėlę. Pakeitimų ne tiek daug kaip atrodo ;)

Štai kodas, kuris apdoroja gautą el. paštą, surašo kur reikia attachmentu atėjusias JPG bylas ir įterpia reikiamus duomenų bazės įrašus:

#!/usr/bin/perl -w

use strict;use MIME::Parser;

use FileHandle;

use File::Path;

use DBI;

$|++; # Autoflush on

# Prisijungiam prie MySQL

my $dbh = DBI->connect("DBI:mysql:database=moxliukas;dbhost=localhost",

        'moxliukas', 'passwordas');

# katalogų keliai - laikinas ir output

my $tmp_dir = '/home/moxliukas/tmp';

my $output_dir = '/home/moxliukas/public_html/moblog/images';

my $parser = MIME::Parser->new;

$parser->output_dir($tmp_dir);

# Skaitom viską iš STDIN

my $entry = $parser->parse(*STDIN);

# Kiekvienai MIME daliai...

for my $part ($entry->parts) {

       # Žiūrim koks duomenų tipas

        my $mime = $part->mime_type;

        if($mime =~ /jpeg/) {  # jei tai JPG...

             # sukuriam bylos pavadinimą pagal unix timestamp

                my $url = time() . '.jpg';

                my $fh = FileHandle->new($output_dir . '/' . $url, 'w');

                binmode($fh);

                my $ifh = $part->open('r');

             # perkopijuojam bylas kur reikia

                $fh->print($ifh->getlines);

                $_->close for($fh, $ifh);

             # įterpiam į duombazę

                my $sql = "INSERT INTO moblogs SET kada=NOW(), url='$url'";

                $dbh->do($sql);

        } else {

          # Jei tai ne JPG, praleidžiam šią dalį

                next;

        }

}

$dbh->disconnect;

ssh per Palm

Štai radau projektėlį Top Gun SSH ir jo dėka turiu savo Palme ssh, tad galiu prisijungti prie serverio ir ten naudotis Perlu ;) Štai nuotrauka kaip viskas atrodo.

Tiesą sakant, truputį net svaigsta galva pagalvojus kokios čia technologijos veikia kol signalas nukeliauja iš Palmo iki serverio. Pirmiausia per infraraudonuosius spindulius jis keliauja iki mobilaus telefono, ten paskui per GPRS keliauja iki bazinės Omnitel stoties, po to dar bilekokiais tinklais iki Omnitel serverio, tada patenka į Internetą, paskui per krūvą maršrutizatorių pasiekia mano serverį. Kuris yra už dviejų metrų nuo mano Palmo ir, jei gerai pasistengčiau, galėčiau paliesti jį koja. Šiuolaikinės technologijos.

Perlo modulių įdiegimas

Čia pateikiu dar vieno PerlMonks straipsnio santrauką lietuvių kalba. Šį kartą apie tai kaip įdiegti Perlo modulius.

Paprasti dalykai

Daugumą modulių galima rasti CPAN. Jie būna pateikiami taip vadinamuose tarballuosetar bylose, suarchyvuotose gzip programa. Modulio kodas būna atskiroje direktorijoje, tad tar šią direktoriją sutraukia į vieną bylą, o gzip šią bylą suarchyvuoja. tar sukurtos bylos turi plėtinį .tar, o gzip.gz, tad dažniausiai modulio bylos pavadinimas atrodys kažkaip taip:

Kazkoks-Modulis-0.01.tar.gz

Pirmoji bylos vardo dalis yra modulio pavadinimas, po to eina modulio versijos numeris ir plėtinys .tar.gz. Išarchyvuoti šį modulį galima konsolės komanda:

tar -zxvf Kazkoks-Modulis-0.01.tar.gz

Visos *nix sistemos turi programą tar. Windows‘uose galite naudoti CYGWIN (unix aplinka Windowsams), tačiau standartinės archyvavimo programos kaip WinZip irgi turėtų susitvarkyti su šia užduotimi.

Jei jau išarchyvavote Perlo modulį jums reikės jį paruošti ir įdiegti. Nueikite į direktoriją, į kurią išarchyvavote modulį ir ieškokite bylos Makefile.PL. Ją suradę suveskite konsolėje šias komandas:

perl Makefile.PL
make
make test
make install

Viskas turėtų praeiti gražiai ir be klaidų, jeigu ne, tai skaitykite žemiau. Windows sistemoje jums reikės programėlės pavadinimu nmake. Ją galima parsisiųsti iš Microsoft per FTP arba per HTTP. Parsisiuntus ją reikia irgi įdiegti. Įsitikinkite kad nmake yra programų kelyje ir yra pasiekiamas.

Kai jau įdiegėte nmake, įdiekite ir perlo modulį DOS lange rašydami:

perl Makefile.PL
nmake
nmake test
nmake install

Jeigu viskas gerai, tai sveikinu. Jei ne, tai skaitykite toliau.

Dažniausios problemos

Gaunu klaidos pranešimą Warning: prerequisite Foo::Bar failed to load: Can't locate foo/bar.pm in @INC

Kai kuriems moduliams reikia kitų modulių. Jie yra priklauomi nuo kitų modulių funkcionalumo. Šios priklausomybės yra aprašomos Makefile.PL eilutėje:

'PREREQ_PM' => { Foo::Bar => 1.5 }

Tai nurodo kad šiam moduliui reikia ne senesnės kaip 1.5 modulio Foo::Bar versijos. Prieš įdiegdami modulį, įdiekite modulius kurių reikės naujajam moduliui.

Gaunu klaidą Can't find make

Gali būti kad make nėra jūsų sistemoje. Įdiekite make (arba Windowsuosenmake).

make/nmake neranda kai kurių bylų

Kai paleidžiate make/nmake, jis ieško bylos pavadinimu MANIFEST, kurioje surašytos visos bylos kurios turėtų būti modulyje. Jei kurios nors iš jų nėra, gausite panašią klaidą:

$ make
Checking if your kit is complete...
Warning: the following files are missing in your kit:
Foo.bar
Please inform the author.

Turbūt dėl to reiktų kaltint modulio autorius.

make test gražina klaidas

Perlo moduliai turėtų veikti vienodai visose operacinėse sistemose, bet kartais taip neatsitinka. Modulių autoriai dažnai prideda visokių testų, kad įsitikinti jog modulis veiks tiap kaip turėtų. Kai kurios klaidos kurias grąžina make test yra nežymios, tačiau jos gali rodyti kad su šiuo moduliu gali būti daug problemų. Jei gaunate tikrai daug klaidų, tai turbūt nereiktų įdiegti šio modulio.

Sako, kad neturiu pakankamai teisių įdiegti šį modulį

Jeigu neturite root teisių, tai jums nepavyks įdiegti modulių standartinėse įdiegimo vietose. Dažniausiai gausite tokias klaidas:

$ make install
Warning: You do not have permissions to install into 
/usr/local/lib/perl5/site_perl/5.005/i386-freebsd at 
/usr/libdata/perl/5.00503/ExtUtils/Install.pm line 62.
mkdir /usr/local/lib/perl5/site_perl/5.005/CGI/Simple: 
Permission denied at /usr/libdata/perl/5.00503/ExtUtils/Install.pm line 120
*** Error code 2

Nesunku išspręsti šią problemą. Įdiekite modulius į savo vietinę namų direktoriją. Tam tikslui pasidarykite direktoriją ~/lib

# pirma nueikite į savo namų direktoriją
$ cd ~
# dabar sukurkite katalogą lib
$ mkdir lib

Dabar paleisdami perl Makefile.PL nurodykite kur įdiegti modulį:

perl Makefile.PL LIB=~/lib

tam kad galėtumėte naudotis taip įdiegtu moduliu jums teks savo programose pridėti ~/lib prie @INC. Štai paprasčiausias vartojimo būdas:

#!/usr/bin/perl -w
use strict;
# pridedam ~/lib direktoriją prie @INC
use lib '/usr/home/jusu_namu_direktorija/lib/';
# toliau kaip įprasta
use Kazkoks::Modulis;

Įrankiai palengvinantys Perlo modulių įdiegimą

Yra keletas įrankių, palengvinančių Perlo modulių įdiegimo procesą. Tiesa, gali būti sudėtinga priversti juos veikti, jei naudojatės proksiais ar ugniasienėmis.

CPAN.pm

Tai Perlo modulis, skirtas įdiegti kitiems Perlo moduliams. Lengviausia jį naudoti štai taip:

perl -MCPAN -e "shell"

tai paleidžia interaktyvų apvalkalą. Sekite instrukcijas.

PPM

PPM yra ActieState programa, kuri įdiegia specialias CPAN modulių versijas aprašytas XML formalu PPD bylose. Tiesiog parašykite DOSo lange ppm jei turite įdiegtą ActivePerl. Toliau parašykite help ir skaitykite instrukcijas.

Perlo modulių su C kodu įdiegimas

Sudėtingiausia yra įdiegti modulius, kurie yra rašyti C kalba. Tam reikia turėti kompiliatorių – geriausia gcc. Dažniausiai UNIX sistemose šis kompiliatorius jau būna pagal nutylėjimą, o Windowsams jį geriausia parsisiųsti tiesiai iš http://www.gnu.org/software/gcc/gcc.html. Kompiliuoti modulius Windowsuose yra sudėtinga. Dažnai tik cygwin ir gcc tam neužtenka. Lengviausia yra rasti jau sukompiliuotus modulius (per PPM arba pas modulio autorių). Tiesa, jei naudojatės Windows ir klausiate autoriaus patarimo kompiuojant jo modulius galite kartais tikėtis ir atsakymo „įsigyk normalią operacinę sistemą“…