Gå til innhold

Anbefalte innlegg

Fram til nå, hvis du har lest de andre tutorialene, har jeg brukt Mysql og CGI modulene.

 

Man kan jo spørre hva som er vitsen med dette, hvorfor kan man ikke ha funksjoner uten å måtte importere moduler i huet og ræva.

 

Svaret er enkelt, *alt* er moduler. også de innebygde funkjonene.

 

perl i seg selv er veldig lite, har ikke så mange funksjoner, kan telle dem her hvis man vil:

 

http://www.perldoc.com/perl5.8.0/pod/perlfunc.html

 

er ikke mange hundre hvertfall.

 

perl programmet i seg selv er ganske lite. php f.eks inneholder langt mer, og er mye større.

 

så kan man lure på - hva skal man med en masse mysql funksjoner for å skrive "Hello world", hva skal man med session managment for å lese en fil, hva skal man med bildemanipuleringsfunksjoner for å lage enkel html?

 

Php må dra rundt et stort program med en drøss av funksjoner for å gjøre alt mulig rart uansett om man bare skal programmere en liten filleting.

 

Perl har en litt annerledes filosofi, det inneholder et fåtall sentrale funksjoner og resten imporeteres ved behov, ved hjelp av moduler.

 

Php er laget for sitt bruk (web bruk) og skal ikke klage for mye på det (selv om jeg bruker perl til alt av web og ;) men hvis man skal gjøre noe annet, så blir php uegnet med engang.

 

Hvordan skal man så vite hvilke moduler som gjør hva?

 

Dette kommer med erfaring. Jeg har allerede vist til cpan:

http://search.cpan.org/

 

Hvis man har et par minuter til overs, kan man dra dit og søke på whatever og se hva man finner - det finnes moduler for absolutt alt!!

 

et par eksempler:

 

IP matematikk, regne på ip'er, nettmasker og nettadresser, f.eks sjekke om en ip ligger innen et forhåndsbestemt ip range)

http://search.cpan.org/~muir/Net-Netmask-1.9005/Netmask.pod

 

 

 

SMB, lete gjennom windowsmaskiner og se hvilke filer de deler!

(jeg kjørte denne gjennom hele ntnu-nettet engang (65536 ip'er) - fant mye rart der ;)

http://search.cpan.org/~alian/Filesys-SmbC...ClientParser.pm

 

 

 

Netbios oppslag, spør en windowsmaskin hvem som er logget på f.eks

http://search.cpan.org/~jmacfarla/Net-NBNa...b/Net/NBName.pm

 

 

 

SSH session, bruke perl for å kjøre ssh mot andre maskiner, kjempte praktisk for rutine oppgaver eller annet småtteri man måtte ha lyst til å gjøre som krever ssh

http://search.cpan.org/~ivan/Net-SSH-0.07/SSH.pm

 

 

 

HTTP, hente ned nettsider (kanskje en pondusstripe?) eller hente annen interessang data. kanskje lage en bot til en MPOG som norwegian mafia f.eks

http://search.cpan.org/author/GAAS/libwww-...5.76/lib/LWP.pm

http://search.cpan.org/author/GAAS/libwww-...b/LWP/Simple.pm

http://search.cpan.org/author/PETDANCE/WWW...WW/Mechanize.pm

(jeg bruker en av disse for å lage sms skriptet som logger seg på på nett og sender sms)

 

 

Gjøre tekstsøk, søke etter ord som "nesten" matcher et søkeord.

http://search.cpan.org/author/JHI/String-A...-3.23/Approx.pm

 

 

 

IRC bots

http://search.cpan.org/author/JMUHLICH/Net-IRC-0.74/IRC.pm

http://search.cpan.org/author/BWSMITH/IRC-Bot-0.04/Bot.pm

 

 

 

 

HTML parsing: høyaktuelt i forbindelse med å hente ned html fra websider og undersøke resultatet

http://search.cpan.org/author/SBURKE/HTML-.../TreeBuilder.pm

http://search.cpan.org/author/GAAS/HTML-Pa...L/TokeParser.pm

Jeg brukte en av disse engang for å hante ned framsiden til hardware.no, funket perfekt: http://sirius.isa-geek.org/~lindahl/hw.cgi

kilde: http://sirius.isa-geek.org/~lindahl/hw.html

 

 

 

XML: hundrevis av søkeresultater!

http://search.cpan.org/search?query=xml&mode=all

 

 

 

 

Bildemanipulering:

http://search.cpan.org/author/JCRISTY/Perl...-5.57/Magick.pm

http://search.cpan.org/author/LDS/GD-2.11/GD.pm

kan brukes til f.eks opplasting av bilder og thumbs generering.

eks her:

http://sirius.isa-geek.org/~lindahl/upload/

 

 

 

Og listen bare fortsetter!!!

 

hvis det er noe du trenger gjort, gå til search.cpan.org og søk etter det, og du vil finne det :)

Lenke til kommentar
Videoannonse
Annonse

Glemte det viktigste, hvordan installere moduler!

 

Det gjøres med CPAN modulen, f.eks slik:

 

root@master[~]# perl -MCPAN -e shell
Undefined value assigned to typeglob at (eval 13) line 15, <RC> line 11.
Warning [/etc/inputrc line 11]:
 Invalid variable `mark-symlinked-directories'

cpan shell -- CPAN exploration and modules installation (v1.76)
ReadLine support enabled

cpan> install Net::NBName

 

Det starter et shell og lar deg installere de modulene du vil der. Hvis jeg nå hadde trykket enter, ville den lastet ned og installert Net::NBName

Endret av Torbjørn
Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...